# Context Context模块提供了ability或application的上下文的能力,包括允许访问特定于应用程序的资源、请求和验证权限等。 > **说明:** > > 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块接口**仅可在FA模型**下使用。 ## 导入模块 ```ts import featureAbility from '@ohos.ability.featureAbility'; ``` ## 使用说明 Context对象是在featureAbility中创建实例,并通过featureAbility的[getContext](js-apis-ability-featureAbility.md#featureabilitygetcontext)接口返回,因此在使用Context时,必须导入@ohos.ability.featureAbility库。示例如下: ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getOrCreateLocalDir().then((data) => { console.info('getOrCreateLocalDir data: ${JSON.stringify(data)}'); }); ``` ## Context.getOrCreateLocalDir7+ getOrCreateLocalDir(callback: AsyncCallback\): void 获取应用程序的本地根目录(callback形式)。 如果是第一次调用,将创建目录。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ------------- | | callback | AsyncCallback\ | 是 | 返回应用程序的本地根目录。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getOrCreateLocalDir((error, data)=>{ if (error && error.code !== 0) { console.error('getOrCreateLocalDir fail, error: ${JSON.stringify(error)}'); } else { console.log('getOrCreateLocalDir success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getOrCreateLocalDir7+ getOrCreateLocalDir(): Promise\ 获取应用程序的本地根目录(Promise形式)。 如果是第一次调用,将创建目录。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------- | ----------- | | Promise\ | 应用程序的本地根目录。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getOrCreateLocalDir().then((data) => { console.info('getOrCreateLocalDir data: ${JSON.stringify(data)}'); }); ``` ## Context.verifyPermission7+ verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\): void 验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | --------------------------------------- | ---- | -------------------- | | permission | string | 是 | 指定权限的名称。 | | options | [PermissionOptions](#permissionoptions7) | 是 | 权限选项。 | | callback | AsyncCallback\ | 是 | 返回权限验证结果,0有权限,-1无权限。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; import bundle from '@ohos.bundle.bundleManager'; let context: featureAbility.Context = featureAbility.getContext(); bundle.getBundleInfo('com.context.test', 1, (err, datainfo) =>{ context.verifyPermission('com.example.permission', {uid:datainfo.appInfo.uid}, (error, data) =>{ if (error && error.code !== 0) { console.error('verifyPermission fail, error: ${JSON.stringify(error)}'); } else { console.log('verifyPermission success, data: ${JSON.stringify(data)}'); } }); }); ``` 示例代码中出现的getBundleInfo相关描述可参考对应[文档](js-apis-bundleManager.md)。 ## Context.verifyPermission7+ verifyPermission(permission: string, callback: AsyncCallback\): void 验证系统中运行的当前pid和uid是否具有指定的权限(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | ---------------------- | ---- | -------------------- | | permission | string | 是 | 指定权限的名称。 | | callback | AsyncCallback\ | 是 | 返回权限验证结果,0有权限,-1无权限。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.verifyPermission('com.example.permission', (error, data) =>{ if (error && error.code !== 0) { console.error('verifyPermission fail, error: ${JSON.stringify(error)}'); } else { console.log('verifyPermission success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.verifyPermission7+ verifyPermission(permission: string, options?: PermissionOptions): Promise\ 验证系统中运行的特定pid和uid是否具有指定的权限(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---------- | --------------------------------------- | ---- | -------- | | permission | string | 是 | 指定权限的名称。 | | options | [PermissionOptions](#permissionoptions) | 否 | 权限选项。 | **返回值:** | 类型 | 说明 | | ---------------- | ---------------------------------- | | Promise\ | 如果pid和uid具有权限,则使用0进行异步回调;否则使用-1回调。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); let Permission = {pid:1}; context.verifyPermission('com.context.permission',Permission).then((data) => { console.info('verifyPermission data: ${JSON.stringify(data)}'); }); ``` ## Context.requestPermissionsFromUser7+ requestPermissionsFromUser(permissions: Array\, requestCode: number, resultCallback: AsyncCallback<[PermissionRequestResult](#permissionrequestresult)>): void 从系统请求某些权限(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------------- | ---------------------------------------- | ---- | ----------------------------------- | | permissions | Array\ | 是 | 指示要请求的权限列表。此参数不能为null。 | | requestCode | number | 是 | 指示要传递给PermissionRequestResult的请求代码。 | | resultCallback | AsyncCallback<[PermissionRequestResult](#permissionrequestresult)> | 是 | 返回授权结果信息。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.requestPermissionsFromUser( ['com.example.permission1', 'com.example.permission2', 'com.example.permission3', 'com.example.permission4', 'com.example.permission5'], 1, (error, data) => { if (error && error.code !== 0) { console.error('requestPermissionsFromUser fail, error: ${JSON.stringify(error)}'); } else { console.log('requestPermissionsFromUser success, data: ${JSON.stringify(data)}'); } } ); ``` ## Context.requestPermissionsFromUser7+ requestPermissionsFromUser(permissions: Array\, requestCode: number): Promise\<[PermissionRequestResult](#permissionrequestresult7)> 从系统请求某些权限(promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------------- | ------------------- | ----- | -------------------------------------------- | | permissions | Array\ | 是 | 指示要请求的权限列表。此参数不能为null。 | | requestCode | number | 是 | 指示要传递给PermissionRequestResult的请求代码。 | **返回值:** | 类型 | 说明 | | ------------------------------------------------------------- | ---------------- | | Promise\<[PermissionRequestResult](#permissionrequestresult7)> | 返回授权结果信息。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.requestPermissionsFromUser( ['com.example.permission1', 'com.example.permission2', 'com.example.permission3', 'com.example.permission4', 'com.example.permission5'], 1).then((data)=>{ console.info('requestPermissionsFromUser data: ${JSON.stringify(data)}'); } ); ``` ## Context.getApplicationInfo7+ getApplicationInfo(callback: AsyncCallback\): void 获取有关当前应用程序的信息(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------- | ---- | ------------ | | callback | AsyncCallback\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)> | 是 | 返回当前应用程序的信息。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getApplicationInfo((error, data) => { if (error && error.code !== 0) { console.error('getApplicationInfo fail, error: ${JSON.stringify(error)}'); } else { console.log('getApplicationInfo success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getApplicationInfo7+ getApplicationInfo(): Promise\ 获取有关当前应用程序的信息(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ------------------------- | --------- | | Promise\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | 当前应用程序的信息 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getApplicationInfo().then((data) => { console.info('getApplicationInfo data: ${JSON.stringify(data)}'); }); ``` ## Context.getBundleName7+ getBundleName(callback: AsyncCallback\): void 获取当前ability的Bundle名称(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ------------------ | | callback | AsyncCallback\ | 是 | 返回当前ability的Bundle名称。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getBundleName((error, data) => { if (error && error.code !== 0) { console.error('getBundleName fail, error: ${JSON.stringify(error)}'); } else { console.log('getBundleName success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getBundleName7+ getBundleName(): Promise\ 获取当前ability的Bundle名称(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------- | ---------------- | | Promise\ | 当前ability的Bundle名称。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getBundleName().then((data) => { console.info('getBundleName data: ${JSON.stringify(data)}'); }); ``` ## Context.getDisplayOrientation7+ getDisplayOrientation(callback: AsyncCallback\): void 获取当前ability的显示方向(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------------------------------------ | ---- | ------------------ | | callback | AsyncCallback\<[bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation)> | 是 | 表示屏幕显示方向。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getDisplayOrientation((error, data) => { if (error && error.code !== 0) { console.error('getDisplayOrientation fail, error: ${JSON.stringify(error)}'); } else { console.log('getDisplayOrientation success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getDisplayOrientation7+ getDisplayOrientation(): Promise\; 获取此能力的当前显示方向(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------------------------------- | --------- | | Promise\<[bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation)> | 表示屏幕显示方向。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getDisplayOrientation().then((data) => { console.info('getDisplayOrientation data: ${JSON.stringify(data)}'); }); ``` ## Context.getExternalCacheDir getExternalCacheDir(callback: AsyncCallback\): void 获取应用程序的外部缓存目录(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ------------------ | | callback | AsyncCallback\ | 是 | 返回应用程序的缓存目录的绝对路径。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getExternalCacheDir((error, data) => { if (error && error.code !== 0) { console.error('getExternalCacheDir fail, error: ${JSON.stringify(error)}'); } else { console.log('getExternalCacheDir success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getExternalCacheDir getExternalCacheDir(): Promise\; 获取应用程序的外部缓存目录(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------- | ---------------- | | Promise\ | 返回应用程序的缓存目录的绝对路径。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getExternalCacheDir().then((data) => { console.info('getExternalCacheDir data: ${JSON.stringify(data)}'); }); ``` ## Context.setDisplayOrientation7+ setDisplayOrientation(orientation: bundle.DisplayOrientation, callback: AsyncCallback\): void 设置当前能力的显示方向(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ---------------------------------------- | ---- | ------------ | | orientation | [bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation) | 是 | 指示当前能力的新方向。 | | callback | AsyncCallback\ | 是 | 表示屏幕显示方向。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; import bundle from '@ohos.bundle.bundleManager'; let context: featureAbility.Context = featureAbility.getContext(); let orientation = bundle.DisplayOrientation.UNSPECIFIED; context.setDisplayOrientation(orientation, (error) => { console.error('setDisplayOrientation fail, error: ${JSON.stringify(error)}'); }); ``` ## Context.setDisplayOrientation7+ setDisplayOrientation(orientation: bundle.DisplayOrientation): Promise\; 设置当前能力的显示方向(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------------------------------- | ---------------------------------------- | | orientation | [bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation) | | Promise\ | 表示屏幕显示方向。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; import bundle from '@ohos.bundle.bundleManager'; let context: featureAbility.Context = featureAbility.getContext(); let orientation = bundle.DisplayOrientation.UNSPECIFIED; context.setDisplayOrientation(orientation).then((data) => { console.info('setDisplayOrientation data: ${JSON.stringify(data)}'); }); ``` ## Context.setShowOnLockScreen(deprecated) setShowOnLockScreen(show: boolean, callback: AsyncCallback\): void 设置每当显示锁屏时是否在锁屏顶部显示此功能,使该功能保持激活状态(callback形式)。 > 从API version 9开始不再支持。建议使用[window.setShowOnLockScreen](js-apis-window.md#setShowOnLockScreen9)替代。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------- | ---- | ---------------------------------------- | | show | boolean | 是 | 指定是否在锁屏顶部显示此功能。值true表示在锁屏上显示,值false表示不显示。 | | callback | AsyncCallback\ | 是 | 返回回调结果。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); let show = true; context.setShowOnLockScreen(show, (error) => { console.error('setShowOnLockScreen fail, error: ${JSON.stringify(error)}'); }); ``` ## Context.setShowOnLockScreen(deprecated) setShowOnLockScreen(show: boolean): Promise\; 设置每当显示锁屏时是否在锁屏顶部显示此功能,使该功能保持激活状态(Promise形式)。 > 从API version 9开始不再支持。建议使用[window.setShowOnLockScreen](js-apis-window.md#setShowOnLockScreen9)替代。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | ---- | ------- | ---- | ---------------------------------------- | | show | boolean | 是 | 指定是否在锁屏顶部显示此功能。值true表示在锁屏上显示,值false表示不显示。 | **返回值:** | 类型 | 说明 | | -------------- | --------------- | | Promise\ | 使用Promise形式返回结果 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); let show = true; context.setShowOnLockScreen(show).then((data) => { console.info('setShowOnLockScreen data: ${JSON.stringify(data)}'); }); ``` ## Context.setWakeUpScreen7+ setWakeUpScreen(wakeUp: boolean, callback: AsyncCallback\): void 设置恢复此功能时是否唤醒屏幕(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------- | ---- | --------------------------------- | | wakeUp | boolean | 是 | 指定是否唤醒屏幕。值true表示唤醒它,值false表示不唤醒它。 | | callback | AsyncCallback\ | 是 | 返回回调结果。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); let wakeUp = true; context.setWakeUpScreen(wakeUp, (error) => { console.error('setWakeUpScreen fail, error: ${JSON.stringify(error)}'); }); ``` ## Context.setWakeUpScreen7+ setWakeUpScreen(wakeUp: boolean): Promise\; 设置恢复此功能时是否唤醒屏幕(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------- | ---- | --------------------------------- | | wakeUp | boolean | 是 | 指定是否唤醒屏幕。值true表示唤醒它,值false表示不唤醒它。 | **返回值:** | 类型 | 说明 | | -------------- | --------------- | | Promise\ | 使用Promise形式返回结果 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); let wakeUp = true; context.setWakeUpScreen(wakeUp).then((data) => { console.info('setWakeUpScreen data: ${JSON.stringify(data)}'); }); ``` ## Context.getProcessInfo7+ getProcessInfo(callback: AsyncCallback\): void 获取有关当前进程的信息,包括进程ID和名称(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | ---------- | | callback | AsyncCallback\<[ProcessInfo](js-apis-inner-app-processInfo.md)> | 是 | 返回当前进程的信息。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getProcessInfo((error, data) => { if (error && error.code !== 0) { console.error('getProcessInfo fail, error: ${JSON.stringify(error)}'); } else { console.log('getProcessInfo success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getProcessInfo7+ getProcessInfo(): Promise\ 获取有关当前进程的信息,包括进程id和名称(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | --------------------- | ------- | | Promise\<[ProcessInfo](js-apis-inner-app-processInfo.md)> | 当前进程的信息 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getProcessInfo().then((data) => { console.info('getProcessInfo data: ${JSON.stringify(data)}'); }); ``` ## Context.getElementName7+ getElementName(callback: AsyncCallback\): void 获取当前ability的ohos.bundleManager.ElementName对象(callback形式)。 此方法仅适用于页面功能。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | --------------------------- | ---- | -------------------------------------- | | callback | AsyncCallback\<[ElementName](js-apis-bundleManager-elementName.md)> | 是 | 返回当前ability的ohos.bundleManager.ElementName对象。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getElementName((error, data) => { if (error && error.code !== 0) { console.error('getElementName fail, error: ${JSON.stringify(error)}'); } else { console.log('getElementName success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getElementName7+ getElementName(): Promise\ 获取当前能力的ohos.bundleManager.ElementName对象(Promise形式)。 此方法仅适用于页面功能。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | --------------------- | ------------------------------------ | | Promise\<[ElementName](js-apis-bundleManager-elementName.md)> | 当前ability的ohos.bundleManager.ElementName对象。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getElementName().then((data) => { console.info('getElementName data: ${JSON.stringify(data)}'); }); ``` ## Context.getProcessName7+ getProcessName(callback: AsyncCallback\): void 获取当前进程的名称(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---------- | | callback | AsyncCallback\ | 是 | 返回当前进程的名称。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getProcessName((error, data) => { if (error && error.code !== 0) { console.error('getProcessName fail, error: ${JSON.stringify(error)}'); } else { console.log('getProcessName success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getProcessName7+ getProcessName(): Promise\ 获取当前进程的名称(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------- | ---------- | | Promise\ | 返回当前进程的名称。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getProcessName().then((data) => { console.info('getProcessName data: ${JSON.stringify(data)}'); }); ``` ## Context.getCallingBundle7+ getCallingBundle(callback: AsyncCallback\): void 获取ability调用方的Bundle名称(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---------------- | | callback | AsyncCallback\ | 是 | 返回ability调用方的Bundle名称。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getCallingBundle((error, data) => { if (error && error.code !== 0) { console.error('getCallingBundle fail, error: ${JSON.stringify(error)}'); } else { console.log('getCallingBundle success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getCallingBundle7+ getCallingBundle(): Promise\ 获取ability调用方的Bundle名称(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------- | -------------- | | Promise\ | 返回ability调用方的Bundle名称。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getCallingBundle().then((data) => { console.info('getCallingBundle data: ${JSON.stringify(data)}'); }); ``` ## Context.getCacheDir getCacheDir(callback: AsyncCallback\): void 获取该应用程序的内部存储目录(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | --------------- | | callback | AsyncCallback\ | 是 | 返回该应用程序的内部存储目录。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getCacheDir((error, data) => { if (error && error.code !== 0) { console.error('getCacheDir fail, error: ${JSON.stringify(error)}'); } else { console.log('getCacheDir success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getCacheDir getCacheDir(): Promise\ 获取该应用程序的内部存储目录(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------- | --------------- | | Promise\ | 返回该应用程序的内部存储目录。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getCacheDir().then((data) => { console.info('getCacheDir data: ${JSON.stringify(data)}'); }); ``` ## Context.getFilesDir getFilesDir(callback: AsyncCallback\): void 获取内部存储器上此应用程序的文件目录(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ------------------- | | callback | AsyncCallback\ | 是 | 返回内部存储器上此应用程序的文件目录。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getFilesDir((error, data) => { if (error && error.code !== 0) { console.error('getFilesDir fail, error: ${JSON.stringify(error)}'); } else { console.log('getFilesDir success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getFilesDir getFilesDir(): Promise\ 获取内部存储器上此应用程序的文件目录(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------- | ------------------- | | Promise\ | 返回内部存储器上此应用程序的文件目录。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getFilesDir().then((data) => { console.info('getFilesDir data: ${JSON.stringify(data)}'); }); ``` ## Context.getOrCreateDistributedDir7+ getOrCreateDistributedDir(callback: AsyncCallback\): void 获取Ability或应用的分布式文件路径。 如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | ---------------------------------------- | | callback | AsyncCallback\ | 是 | 返回Ability或应用的分布式文件路径。
若路径不存在,系统将创建一个路径并返回创建的路径。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getOrCreateDistributedDir((error, data) => { if (error && error.code !== 0) { console.error('getOrCreateDistributedDir fail, error: ${JSON.stringify(error)}'); } else { console.log('getOrCreateDistributedDir success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getOrCreateDistributedDir7+ getOrCreateDistributedDir(): Promise\ 获取Ability或应用的分布式文件路径。 如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------- | ----------------------------------- | | Promise\ | 返回Ability或应用的分布式文件路径。若为首次调用,则将创建目录。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getOrCreateDistributedDir().then((data) => { console.info('getOrCreateDistributedDir data: ${JSON.stringify(data)}'); }); ``` ## Context.getAppType7+ getAppType(callback: AsyncCallback\): void 获取此应用的类型(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------- | ---- | -------------------------------- | | callback | AsyncCallback\ | 是 | 返回此应用程序的类型。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getAppType((error, data) => { if (error && error.code !== 0) { console.error('getAppType fail, error: ${JSON.stringify(error)}'); } else { console.log('getAppType success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getAppType7+ getAppType(): Promise\ 获取此应用的类型(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------- | ------------------ | | Promise\ | 返回此应用的类型。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getAppType().then((data) => { console.info('getAppType data: ${JSON.stringify(data)}'); }); ``` ## Context.getHapModuleInfo7+ getHapModuleInfo(callback: AsyncCallback\): void 获取应用的ModuleInfo对象(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | --------------------------------------- | | callback | AsyncCallback\<[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)> | 是 | 返回应用的ModuleInfo对象。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getHapModuleInfo((error, data) => { if (error && error.code !== 0) { console.error('getHapModuleInfo fail, error: ${JSON.stringify(error)}'); } else { console.log('getHapModuleInfo success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getHapModuleInfo7+ getHapModuleInfo(): Promise\ 获取应用的ModuleInfo对象(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------------------------------- | ------------------ | | Promise\<[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)> | 返回应用的ModuleInfo对象。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getHapModuleInfo().then((data) => { console.info('getHapModuleInfo data: ${JSON.stringify(data)}'); }); ``` ## Context.getAppVersionInfo7+ getAppVersionInfo(callback: AsyncCallback\): void 获取应用的版本信息(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | ------------------------------ | | callback | AsyncCallback\<[AppVersionInfo](js-apis-inner-app-appVersionInfo.md)> | 是 | 返回应用版本信息。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getAppVersionInfo((error, data) => { if (error && error.code !== 0) { console.error('getAppVersionInfo fail, error: ${JSON.stringify(error)}'); } else { console.log('getAppVersionInfo success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getAppVersionInfo7+ getAppVersionInfo(): Promise\ 获取应用的版本信息(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------------------------------- | --------- | | Promise\<[AppVersionInfo](js-apis-inner-app-appVersionInfo.md)> | 返回应用版本信息。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getAppVersionInfo().then((data) => { console.info('getAppVersionInfo data: ${JSON.stringify(data)}'); }); ``` ## Context.getAbilityInfo7+ getAbilityInfo(callback: AsyncCallback\): void 查询当前归属Ability详细信息(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | --------------------------------------- | | callback | AsyncCallback\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)> | 是 | 返回当前归属Ability详细信息。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getAbilityInfo((error, data) => { if (error && error.code !== 0) { console.error('getAbilityInfo fail, error: ${JSON.stringify(error)}'); } else { console.log('getAbilityInfo success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.getAbilityInfo7+ getAbilityInfo(): Promise\ 查询当前归属Ability详细信息(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ---------------------------------------- | ------------------ | | Promise\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)> | 返回当前归属Ability详细信息。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.getAbilityInfo().then((data) => { console.info('getAbilityInfo data: ${JSON.stringify(data)}'); }); ``` ## Context.getApplicationContext7+ getApplicationContext(): Context 获取应用上下文信息。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ------- | ---------- | | Context | 返回应用上下文信息。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext().getApplicationContext(); ``` ## Context.isUpdatingConfigurations7+ isUpdatingConfigurations(callback: AsyncCallback\): void; 检查此能力的配置是否正在更改(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------- | ---- | ----------------------------- | | callback | AsyncCallback\ | 是 | 如果该能力的配置正在更改,则为true,否则为false。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.isUpdatingConfigurations((error, data) => { if (error && error.code !== 0) { console.error('isUpdatingConfigurations fail, error: ${JSON.stringify(error)}'); } else { console.log('isUpdatingConfigurations success, data: ${JSON.stringify(data)}'); } }); ``` ## Context.isUpdatingConfigurations7+ isUpdatingConfigurations(): Promise\; 检查此能力的配置是否正在更改(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | ----------------- | ----------------------------- | | Promise\ | 如果该能力的配置正在更改,则为true,否则为false。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.isUpdatingConfigurations().then((data) => { console.info('isUpdatingConfigurations data: ${JSON.stringify(data)}'); }); ``` ## Context.printDrawnCompleted7+ printDrawnCompleted(callback: AsyncCallback\): void; 通知系统绘制此页面功能所需的时间(callback形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------- | ---- | ----------- | | callback | AsyncCallback\ | 是 | 表示被指定的回调方法。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.printDrawnCompleted((err) => { console.error('printDrawnCompleted err: ${JSON.stringify(err)}'); }); ``` ## Context.printDrawnCompleted7+ printDrawnCompleted(): Promise\; 通知系统绘制此页面功能所需的时间(Promise形式)。 **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **返回值:** | 类型 | 说明 | | -------------- | --------------- | | Promise\ | 以Promise形式返回结果。 | **示例:** ```ts import featureAbility from '@ohos.ability.featureAbility'; let context: featureAbility.Context = featureAbility.getContext(); context.printDrawnCompleted().then((data) => { console.info('printDrawnCompleted data: ${JSON.stringify(data)}'); }); ``` ## PermissionOptions7+ **系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core | 名称 | 类型 | 必填 | 说明 | | ---- | ------ | ---- | ----- | | pid |number | 否 | 进程id。 | | uid |number | 否 | 用户id。 | ## PermissionRequestResult7+ **系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core | 名称 | 类型 | 必填 | 说明 | | ----------- |-------------- | ---- | ---------- | | requestCode | number | 是 | 用户传入的请求代码。 | | permissions | Array\ | 是 | 用户传入的权限。 | | authResults | Array\ | 是 | 请求权限的结果。 |