harmony 鸿蒙@ohos.app.ability.abilityManager (AbilityManager)
@ohos.app.ability.abilityManager (AbilityManager)
AbilityManager模块提供获取、新增、修改Ability相关信息和状态信息进行的能力。
说明:
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口均为系统接口,三方应用不支持调用。
导入模块
import abilityManager from '@ohos.app.ability.abilityManager';
AbilityState
Ability的状态,该类型为枚举,可配合AbilityRunningInfo返回Ability的状态。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
系统API: 此枚举类型为系统接口内部定义,三方应用不支持调用。
名称 | 值 | 说明 |
---|---|---|
INITIAL | 0 | 表示ability为初始化状态。 |
FOCUS | 2 | 表示ability为获焦状态。 |
FOREGROUND | 9 | 表示ability为前台状态。 |
BACKGROUND | 10 | 表示ability为后台状态。 |
FOREGROUNDING | 11 | 表示ability为前台调度中状态。 |
BACKGROUNDING | 12 | 表示ability为后台调度中状态。 |
updateConfiguration
updateConfiguration(config: Configuration, callback: AsyncCallback<void>): void
通过传入修改的配置项来更新配置(callback形式)。
需要权限: ohos.permission.UPDATE_CONFIGURATION
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
config | Configuration | 是 | 新的配置项,仅需配置需要更新的项。 |
callback | AsyncCallback<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
import { Configuration } from '@ohos.app.ability.Configuration';
import ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant';
const config: Configuration = {
language: 'Zh-Hans', // 简体中文
colorMode: ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT, // 浅色模式
direction: ConfigurationConstant.Direction.DIRECTION_VERTICAL, // 垂直方向
screenDensity: ConfigurationConstant.ScreenDensity.SCREEN_DENSITY_SDPI, // 屏幕像素密度为'sdpi'
displayId: 1, // 应用在Id为1的物理屏上显示
hasPointerDevice: true, // 指针类型设备已连接
};
try {
abilityManager.updateConfiguration(config, (err) => {
if (err) {
console.error(`updateConfiguration fail, err: ${JSON.stringify(err)}`);
} else {
console.log('updateConfiguration success.');
}
});
} catch (paramError) {
console.error(`error.code: ${paramError.code}, error.message: ${paramError.message}`);
}
updateConfiguration
updateConfiguration(config: Configuration): Promise<void>
通过修改配置来更新配置(Promise形式)。
需要权限: ohos.permission.UPDATE_CONFIGURATION
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
config | Configuration | 是 | 新的配置项,仅需配置需要更新的项。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 以Promise方式返回接口运行结果息,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
import { Configuration } from '@ohos.app.ability.Configuration';
import ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant';
import { BusinessError } from '@ohos.base';
const config: Configuration = {
language: 'Zh-Hans', // 简体中文
colorMode: ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT, // 浅色模式
direction: ConfigurationConstant.Direction.DIRECTION_VERTICAL, // 垂直方向
screenDensity: ConfigurationConstant.ScreenDensity.SCREEN_DENSITY_SDPI, // 屏幕像素密度为'sdpi'
displayId: 1, // 应用在Id为1的物理屏上显示
hasPointerDevice: true, // 指针类型设备已连接
};
try {
abilityManager.updateConfiguration(config).then(() => {
console.log('updateConfiguration success.');
}).catch((err: BusinessError) => {
console.error(`updateConfiguration fail, err: ${JSON.stringify(err)}`);
});
} catch (paramError) {
console.error(`error.code: ${paramError.code}, error.message: ${paramError.message}`);
}
getAbilityRunningInfos
getAbilityRunningInfos(callback: AsyncCallback<Array<AbilityRunningInfo>>): void
获取UIAbility运行相关信息(callback形式)。
需要权限: ohos.permission.GET_RUNNING_INFO
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<Array<AbilityRunningInfo>> | 是 | 以回调方式返回接口运行结果及运行中的ability信息,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
try {
abilityManager.getAbilityRunningInfos((err, data) => {
if (err) {
console.error(`getAbilityRunningInfos fail, error: ${JSON.stringify(err)}`);
} else {
console.log(`getAbilityRunningInfos success, data: ${JSON.stringify(data)}`);
}
});
} catch (paramError) {
console.error('error.code: ${paramError.code}, error.message: ${paramError.message}');
}
getAbilityRunningInfos
getAbilityRunningInfos(): Promise<Array<AbilityRunningInfo>>
获取UIAbility运行相关信息(Promise形式)。
需要权限: ohos.permission.GET_RUNNING_INFO
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
返回值:
类型 | 说明 |
---|---|
Promise<Array<AbilityRunningInfo>> | 以Promise方式返回接口运行结果及运行中的ability信息,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
import { BusinessError } from '@ohos.base';
try {
abilityManager.getAbilityRunningInfos().then((data) => {
console.log(`getAbilityRunningInfos success, data: ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
console.error(`getAbilityRunningInfos fail, err: ${JSON.stringify(err)}`);
});
} catch (paramError) {
console.error('error.code: ${paramError.code}, error.message: ${paramError.message}');
}
getExtensionRunningInfos
getExtensionRunningInfos(upperLimit: number, callback: AsyncCallback<Array<ExtensionRunningInfo>>): void
获取关于运行扩展能力的信息(callback形式)。
需要权限: ohos.permission.GET_RUNNING_INFO
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
upperLimit | number | 是 | 获取消息数量的最大限制,最大为231-1。 |
callback | AsyncCallback<Array<ExtensionRunningInfo>> | 是 | 以回调方式返回接口运行结果及运行中的extension信息,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
let upperLimit = 10;
try {
abilityManager.getExtensionRunningInfos(upperLimit, (err, data) => {
if (err) {
console.error(`getExtensionRunningInfos fail, err: ${JSON.stringify(err)}`);
} else {
console.log(`getExtensionRunningInfos success, data: ${JSON.stringify(data)}`);
}
});
} catch (paramError) {
console.error('error.code: ${paramError.code}, error.message: ${paramError.message}');
}
getExtensionRunningInfos
getExtensionRunningInfos(upperLimit: number): Promise<Array<ExtensionRunningInfo>>
获取关于运行扩展能力的信息(Promise形式)。
需要权限: ohos.permission.GET_RUNNING_INFO
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
upperLimit | number | 是 | 获取消息数量的最大限制,最大为231-1。 |
返回值:
类型 | 说明 |
---|---|
Promise<Array<ExtensionRunningInfo>> | 以Promise方式返回接口运行结果及运行中的extension信息,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
import { BusinessError } from '@ohos.base';
let upperLimit = 10;
try {
abilityManager.getExtensionRunningInfos(upperLimit).then((data) => {
console.log(`getExtensionRunningInfos success, data: ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
console.error(`getExtensionRunningInfos fail, err: ${JSON.stringify(err)}`);
});
} catch (paramError) {
console.error('error.code: ${paramError.code}, error.message: ${paramError.message}');
}
getTopAbility9+
getTopAbility(callback: AsyncCallback<ElementName>): void;
获取窗口焦点的ability接口(callback形式)。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<ElementName> | 是 | 以回调方式返回接口运行结果及应用名,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
abilityManager.getTopAbility((err, data) => {
if (err) {
console.error(`getTopAbility fail, err: ${JSON.stringify(err)}`);
} else {
console.log(`getTopAbility success, data: ${JSON.stringify(data)}`);
}
});
getTopAbility
getTopAbility(): Promise<ElementName>;
获取窗口焦点的ability接口(Promise形式)。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
返回值:
类型 | 说明 |
---|---|
Promise<ElementName> | 以Promise方式返回接口运行结果及应用名,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
import { BusinessError } from '@ohos.base';
abilityManager.getTopAbility().then((data) => {
console.log(`getTopAbility success, data: ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
console.error(`getTopAbility fail, err: ${JSON.stringify(err)}`);
});
acquireShareData10+
acquireShareData(missionId: number, callback: AsyncCallback<{[key: string]: Object}>): void;
系统弹框通过该接口发起原子化服务分享,调用到目标UIAbility的onShare,返回分享数据(callback形式)。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
系统API:该接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 目标应用的missionId,最大为231-1。 |
callback | AsyncCallback<{[key: string]: Object}> | 是 | 以回调方式返回接口运行结果及分享得到的数据,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
import { BusinessError } from '@ohos.base';
try {
abilityManager.acquireShareData(1, (err, wantParam) => {
if (err) {
console.error(`acquireShareData fail, err: ${JSON.stringify(err)}`);
} else {
console.log(`acquireShareData success, data: ${JSON.stringify(wantParam)}`);
}
});
} catch (paramError) {
let code = (paramError as BusinessError).code;
let message = (paramError as BusinessError).message;
console.error(`error.code: ${JSON.stringify(code)}, error.message: ${JSON.stringify(message)}`);
}
acquireShareData10+
acquireShareData(missionId: number): Promise<{[key: string]: Object}>;
系统弹框通过该接口发起原子化服务分享,调用到目标UIAbility的onShare,返回分享数据(Promise形式)。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
系统API:该接口为系统接口,三方应用不支持调用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 目标应用的missionId,最大为231-1。 |
返回值:
类型 | 说明 |
---|---|
Promise<{[key: string]: Object}> | 以Promise方式返回接口运行结果及分享数据,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
import { BusinessError } from '@ohos.base';
try {
abilityManager.acquireShareData(1).then((wantParam) => {
console.log(`acquireShareData success, data: ${JSON.stringify(wantParam)}`);
}).catch((err: BusinessError) => {
console.error(`acquireShareData fail, err: ${JSON.stringify(err)}`);
});
} catch (paramError) {
let code = (paramError as BusinessError).code;
let message = (paramError as BusinessError).message;
console.error(`error.code: ${JSON.stringify(code)}, error.message: ${JSON.stringify(message)}`);
}
notifySaveAsResult10+
notifySaveAsResult(parameter: AbilityResult, requestCode: number, callback: AsyncCallback<void>): void;
该接口仅供DLP(Data Loss Prevention, 数据丢失防护)管理应用使用,其他应用禁止使用,DLP管理应用通过该接口通知沙箱应用另存为结果。使用callback异步回调。
模型约束:此接口仅可在Stage模型下使用。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
parameter | AbilityResult | 是 | 返回给调用startAbilityForResult 接口调用方的相关信息。 |
requestCode | number | 是 | DLP管理应用传入的请求代码。 |
callback | AsyncCallback |
是 | 回调函数。当另存为结果通知成功,err为undefined,否则为错误对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
import common from '@ohos.app.ability.common';
import Want from '@ohos.app.ability.Want';
import { BusinessError } from '@ohos.base';
let want: Want = {
bundleName: 'com.example.myapplication',
abilityName: 'EntryAbility'
};
let resultCode = 100;
// 返回给另存为行为发起方AbilityResult信息
let abilityResult: common.AbilityResult = {
want,
resultCode
};
let requestCode = 1;
try {
abilityManager.notifySaveAsResult(abilityResult, requestCode, (err) => {
if (err && err.code != 0) {
console.error(`notifySaveAsResult fail, err: ${JSON.stringify(err)}`);
} else {
console.log(`notifySaveAsResult success`);
}
});
} catch (paramError) {
let code = (paramError as BusinessError).code;
let message = (paramError as BusinessError).message;
console.error(`error.code: ${JSON.stringify(code)}, error.message: ${JSON.stringify(message)}`);
}
notifySaveAsResult10+
notifySaveAsResult(parameter: AbilityResult, requestCode: number): Promise<void>;
该接口仅供DLP管理应用使用,其他应用禁止使用,DLP管理应用通过该接口通知沙箱应用另存为结果。使用Promise异步回调。
模型约束:此接口仅可在Stage模型下使用。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
parameter | AbilityResult | 是 | 返回给调用startAbilityForResult 接口调用方的相关信息。 |
requestCode | number | 是 | DLP管理应用传入的请求代码。 |
返回值:
类型 | 说明 |
---|---|
Promise |
Promise对象。无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
16000050 | Internal error. |
以上错误码详细介绍请参考errcode-ability。
示例:
import abilityManager from '@ohos.app.ability.abilityManager';
import common from '@ohos.app.ability.common';
import Want from '@ohos.app.ability.Want';
import { BusinessError } from '@ohos.base';
let want: Want = {
bundleName: 'com.example.myapplication',
abilityName: 'EntryAbility'
};
let resultCode = 100;
// 返回给另存为行为发起方AbilityResult信息
let abilityResult: common.AbilityResult = {
want,
resultCode
};
let requestCode = 1;
try {
abilityManager.notifySaveAsResult(abilityResult, requestCode).catch((err) => {
console.error(`notifySaveAsResult fail, err: ${JSON.stringify(err)}`);
}).then(() => {
console.log(`notifySaveAsResult success`);
});
} catch (paramError) {
let code = (paramError as BusinessError).code;
let message = (paramError as BusinessError).message;
console.error(`error.code: ${JSON.stringify(code)}, error.message: ${JSON.stringify(message)}`);
}
你可能感兴趣的鸿蒙文章
harmony 鸿蒙BundleStatusCallback
harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)
harmony 鸿蒙@ohos.distributedBundle (分布式包管理)
harmony 鸿蒙@ohos.bundle (Bundle模块)
harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦