首页 > 资讯 > 产业政策

鸿蒙开发接口Ability框架:【 (Context模块)】

人阅读 2024-05-13 17:45:07

Context模块

Context模块提供了ability或application的上下文的能力,包括允许访问特定于应用程序的资源、请求和验证权限等。

说明:

本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在FA模型下使用。

使用说明

Context对象是在featureAbility中创建实例,并通过featureAbility的getContext()接口返回,因此在使用Context时,必须导入@ohos.ability.featureAbility库。示例如下:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getOrCreateLocalDir()

开发前请熟悉鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

Context.getOrCreateLocalDir7

getOrCreateLocalDir(callback: AsyncCallback): void

获取应用程序的本地根目录(callback形式)。

如果是第一次调用,将创建目录。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 返回应用程序的本地根目录。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getOrCreateLocalDir((err, data)= >{
    console.info("data="   data);
})

Context.getOrCreateLocalDir7

getOrCreateLocalDir(): Promise

获取应用程序的本地根目录(Promise形式)。

如果是第一次调用,将创建目录。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise 应用程序的本地根目录。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getOrCreateLocalDir().then((data) = > {
    console.info("data="   data);
});

Context.verifyPermission7

verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback): void

验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
permission string 指定权限的名称。
options [PermissionOptions] 权限选项。
callback AsyncCallback 返回权限验证结果,0有权限,-1无权限。

示例:

import featureAbility from '@ohos.ability.featureAbility'
import bundle from '@ohos.bundle'
var context = featureAbility.getContext();
bundle.getBundleInfo('com.context.test', 1, (err,datainfo) = >{
	context.verifyPermission("com.example.permission", {uid:datainfo.uid});
});

Context.verifyPermission7

verifyPermission(permission: string, callback: AsyncCallback): void

验证系统中运行的当前pid和uid是否具有指定的权限(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
permission string 指定权限的名称。
callback AsyncCallback 返回权限验证结果,0有权限,-1无权限。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.verifyPermission("com.example.permission")

Context.verifyPermission7

verifyPermission(permission: string, options?: PermissionOptions): Promise

验证系统中运行的特定pid和uid是否具有指定的权限(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
permission string 指定权限的名称。
options [PermissionOptions] 权限选项。

返回值:

类型 说明
Promise 如果pid和uid具有权限,则使用0进行异步回调;否则使用-1回调。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
var Permission = {pid:1};
context.verifyPermission('com.context.permission',Permission).then((data) = > {
    console.info("====================== >verifyPermissionCallback==================== >");
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.requestPermissionsFromUser7

requestPermissionsFromUser(permissions: Array, requestCode: number, resultCallback: AsyncCallback[[PermissionRequestResult]]): void

从系统请求某些权限(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
permissions Array 指示要请求的权限列表。此参数不能为null。
requestCode number 指示要传递给PermissionRequestResult的请求代码。
resultCallback AsyncCallback[[PermissionRequestResult] 返回授权结果信息。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.requestPermissionsFromUser(
    ["com.example.permission1",
     "com.example.permission2",
     "com.example.permission3",
     "com.example.permission4",
     "com.example.permission5"],
    1,(err, data)= >{
        console.info("==== >requestdata==== >"   JSON.stringify(data));
        console.info("==== >requesterrcode==== >"   JSON.stringify(err.code));
    }
)

Context.getApplicationInfo7

getApplicationInfo(callback: AsyncCallback): void

获取有关当前应用程序的信息(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 返回当前应用程序的信息。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getApplicationInfo()

Context.getApplicationInfo7

getApplicationInfo(): Promise

获取有关当前应用程序的信息(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise 当前应用程序的信息

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getApplicationInfo().then((data) = > {
    console.info("===================== >getApplicationInfoCallback=================== >");
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getBundleName7

getBundleName(callback: AsyncCallback): void

获取当前ability的捆绑包名称(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 返回当前ability的捆绑包名称。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getBundleName()

Context.getBundleName7

getBundleName(): Promise

获取当前ability的捆绑包名称(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise 当前ability的捆绑包名称。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getBundleName().then((data) = > {
    console.info("======================= >getBundleNameCallback==================== >");
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getProcessInfo7

getProcessInfo(callback: AsyncCallback): void

获取有关当前进程的信息,包括进程ID和名称(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 返回当前进程的信息。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getProcessInfo()

Context.getProcessInfo7

getProcessInfo(): Promise

获取有关当前进程的信息,包括进程id和名称(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise 当前进程的信息

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getProcessInfo().then((data) = > {
    console.info("======================= >getProcessInfoCallback==================== >");
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getElementName7

getElementName(callback: AsyncCallback): void

获取当前ability的ohos.bundle.ElementName对象(callback形式)。

此方法仅适用于页面功能。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 返回当前ability的ohos.bundle.ElementName对象。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getElementName()

Context.getElementName7

getElementName(): Promise

获取当前能力的ohos.bundle.ElementName对象(Promise形式)。

此方法仅适用于页面功能。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise 当前ability的ohos.bundle.ElementName对象。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getElementName().then((data) = > {
    console.info("======================= >getElementNameCallback==================== >");
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getProcessName7

getProcessName(callback: AsyncCallback): void

获取当前进程的名称(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 返回当前进程的名称。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getProcessName()

Context.getProcessName7

getProcessName(): Promise

获取当前进程的名称(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise 返回当前进程的名称。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getProcessName().then((data) = > {
    console.info("======================= >getProcessNameCallback==================== >");
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getCallingBundle7

getCallingBundle(callback: AsyncCallback): void

获取调用ability的包名称(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 返回调用ability的包名称。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getCallingBundle()

Context.getCallingBundle7

getCallingBundle(): Promise

获取调用ability的包名称(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise 调用ability的包名称

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getCallingBundle().then((data) = > {
    console.info("====================== >getCallingBundleCallback==================== >");
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getCacheDir

getCacheDir(callback: AsyncCallback): void

获取该应用程序的内部存储目录(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 返回该应用程序的内部存储目录。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getCacheDir((err, data) = > {
    if (err) {
        console.error('Operation failed. Cause: '   JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:'   JSON.stringify(data));
});

Context.getCacheDir

getCacheDir(): Promise

获取该应用程序的内部存储目录(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise 获取该应用程序的内部存储目录

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getCacheDir().then((data) = > {
    console.info("====================== >getCacheDirPromsie==================== >");
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getFilesDir

getFilesDir(callback: AsyncCallback): void

获取内部存储器上此应用程序的文件目录(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 返回内部存储器上此应用程序的文件目录。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getFilesDir((err, data) = > {
    if (err) {
        console.error('Operation failed. Cause: '   JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:'   JSON.stringify(data));
});

Context.getFilesDir

getFilesDir(): Promise

获取内部存储器上此应用程序的文件目录(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise 返回内部存储器上此应用程序的文件目录。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getFilesDir().then((data) = > {
    console.info("====================== >getFilesDirPromsie==================== >");
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getOrCreateDistributedDir7

getOrCreateDistributedDir(callback: AsyncCallback): void

获取Ability或应用的分布式文件路径。

如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 回调函数,可以在回调函数中处理接口返回值,返回Ability或应用的分布式文件路径。如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getOrCreateDistributedDir((err, data) = > {
    if (err) {
        console.error('Operation failed. Cause: '   JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:'   JSON.stringify(data));
});

Context.getOrCreateDistributedDir7

getOrCreateDistributedDir(): Promise

获取Ability或应用的分布式文件路径。

如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise Ability或应用的分布式文件路径。如果是第一次调用,则将创建目录。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getOrCreateDistributedDir().then((data) = > {
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getAppType7

getAppType(callback: AsyncCallback): void

获取此应用的类型(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback 回调函数,可以在回调函数中处理接口返回值,返回此应用程序的类型。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getAppType((err, data) = > {
    if (err) {
        console.error('Operation failed. Cause: '   JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:'   JSON.stringify(data));
});

Context.getAppType7

getAppType(): Promise

获取此应用的类型(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise Promise形式返回此应用的类型。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getAppType().then((data) = > {
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getHapModuleInfo7

getHapModuleInfo(callback: AsyncCallback): void

获取应用的ModuleInfo对象(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback[[HapModuleInfo] 回调函数,可以在回调函数中处理接口返回值,返回应用的ModuleInfo对象。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getHapModuleInfo((err, data) = > {
    if (err) {
        console.error('Operation failed. Cause: '   JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:'   JSON.stringify(data));
});

Context.getHapModuleInfo7

getHapModuleInfo(): Promise

获取应用的ModuleInfo对象(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise[[HapModuleInfo] Promise形式返回应用的ModuleInfo对象。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getHapModuleInfo().then((data) = > {
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getAppVersionInfo7

getAppVersionInfo(callback: AsyncCallback): void

获取应用的版本信息(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback[[AppVersionInfo] 回调函数,可以在回调函数中处理接口返回值,返回应用版本信息。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getAppVersionInfo((err, data) = > {
    if (err) {
        console.error('Operation failed. Cause: '   JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:'   JSON.stringify(data));
});

Context.getAppVersionInfo7

getAppVersionInfo(): Promise

获取应用的版本信息(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise[[AppVersionInfo] 返回应用版本信息。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getAppVersionInfo().then((data) = > {
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getAbilityInfo7

getAbilityInfo(callback: AsyncCallback): void

查询当前归属Ability详细信息(callback形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

参数:

名称 类型 必填 描述
callback AsyncCallback[[AbilityInfo] 回调函数,可以在回调函数中处理接口返回值,返回当前归属Ability详细信息。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getAbilityInfo((err, data) = > {
    if (err) {
        console.error('Operation failed. Cause: '   JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:'   JSON.stringify(data));
});

Context.getAbilityInfo7

getAbilityInfo(): Promise

查询当前归属Ability详细信息(Promise形式)。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Promise[[AbilityInfo] 返回当前归属Ability详细信息。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
context.getAbilityInfo().then((data) = > {
    console.info("==== >data==== >"   JSON.stringify(data));
});

Context.getApplicationContext7

getApplicationContext(): Context

获取应用上下文信息。

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型 说明
Context 返回应用上下文信息。

示例:

import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext().getApplicationContext();

PermissionOptions7

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

名称 读写属性 类型 必填 描述
pid 只读 number 进程id。
uid 只读 number 用户id。

PermissionRequestResult7

系统能力 :SystemCapability.Ability.AbilityRuntime.Core

名称 读写属性 类型 必填 描述
requestCode 只读 number 用户传入的请求代码。
permissions 只读 Array 用户传入的权限。
authResults 只读 Array 请求权限的结果。

HapModuleInfo7

Hap模块信息

名称 类型 可读 可写 说明
name string 模块名称
description string 模块描述信息
descriptionId number 描述信息ID
icon string 模块图标
label string 模块标签
labelId number 模块标签ID
iconId number 模块图标ID
backgroundImg string 模块背景图片
supportedModes number 模块支持的模式
reqCapabilities Array 模块运行需要的能力
deviceTypes Array 支持运行的设备类型
abilityInfo Array Ability信息
moduleName string 模块名
mainAbilityName string 入口Ability名称
installationFree boolean 是否支持免安装
mainElementName string 入口ability信息

AppVersionInfo7

名称 类型 可读 可写 说明
appName string 模块名称
versionCode number 模块描述信息
versionName string 描述信息ID

审核编辑 黄宇

LOT物联网

iot产品 iot技术 iot应用 iot工程

Powered By LOT物联网  闽ICP备2024036174号-1

联系邮箱:support1012@126.com