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

电子说

1.3w人已加入

描述

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

参数:

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

示例:

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

参数:

名称类型必填描述
permissionstring指定权限的名称。
options[PermissionOptions]权限选项。
callbackAsyncCallback返回权限验证结果,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

参数:

名称类型必填描述
permissionstring指定权限的名称。
callbackAsyncCallback返回权限验证结果,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

参数:

名称类型必填描述
permissionstring指定权限的名称。
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

参数:

名称类型必填描述
permissionsArray指示要请求的权限列表。此参数不能为null。
requestCodenumber指示要传递给PermissionRequestResult的请求代码。
resultCallbackAsyncCallback[[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

参数:

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

示例:

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

参数:

名称类型必填描述
callbackAsyncCallback返回当前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

参数:

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

示例:

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

参数:

名称类型必填描述
callbackAsyncCallback返回当前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

参数:

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

示例:

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

参数:

名称类型必填描述
callbackAsyncCallback返回调用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

参数:

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

示例:

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

参数:

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

示例:

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

参数:

名称类型必填描述
callbackAsyncCallback回调函数,可以在回调函数中处理接口返回值,返回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

返回值:

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

示例:

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

参数:

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

示例:

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

返回值:

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

示例:

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

参数:

名称类型必填描述
callbackAsyncCallback[[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

参数:

名称类型必填描述
callbackAsyncCallback[[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

参数:

名称类型必填描述
callbackAsyncCallback[[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模块信息

名称类型可读可写说明
namestring模块名称
descriptionstring模块描述信息
descriptionIdnumber描述信息ID
iconstring模块图标
labelstring模块标签
labelIdnumber模块标签ID
iconIdnumber模块图标ID
backgroundImgstring模块背景图片
supportedModesnumber模块支持的模式
reqCapabilitiesArray模块运行需要的能力
deviceTypesArray支持运行的设备类型
abilityInfoArrayAbility信息
moduleNamestring模块名
mainAbilityNamestring入口Ability名称
installationFreeboolean是否支持免安装
mainElementNamestring入口ability信息

框架

AppVersionInfo7+

名称类型可读可写说明
appNamestring模块名称
versionCodenumber模块描述信息
versionNamestring描述信息ID

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分