js-apis-Context.md 29.9 KB
Newer Older
X
xuchenghua09 已提交
1 2
# Context模块

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

Y
yuyaozhi 已提交
5 6
> **说明:**
> 
Y
yuyaozhi 已提交
7 8
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。   
> 本模块接口仅可在FA模型下使用。
X
xuzhihao 已提交
9

10 11
## 使用说明

X
xuchenghua09 已提交
12 13 14 15 16 17 18 19
Context对象是在featureAbility中创建实例,并通过featureAbility的getContext()接口返回,因此在使用Context时,必须导入@ohos.ability.featureAbility库。示例如下:

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

X
xuzhihao 已提交
20
## Context.getOrCreateLocalDir<sup>7+</sup>
X
xuchenghua09 已提交
21

Z
zengyawen 已提交
22
getOrCreateLocalDir(callback: AsyncCallback\<string>): void
X
xuchenghua09 已提交
23

Z
zengyawen 已提交
24
获取应用程序的本地根目录(callback形式)。
X
xuchenghua09 已提交
25

Z
zengyawen 已提交
26
如果是第一次调用,将创建目录。
X
xuchenghua09 已提交
27

Y
yuyaozhi 已提交
28
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
29

Z
zengyawen 已提交
30
**参数:**
X
xuchenghua09 已提交
31

Z
zengyawen 已提交
32 33 34
| 名称     | 类型                   | 必填 | 描述                       |
| -------- | ---------------------- | ---- | -------------------------- |
| callback | AsyncCallback\<string> | 是   | 返回应用程序的本地根目录。 |
X
xuchenghua09 已提交
35

Z
zengyawen 已提交
36
**示例:**
X
xuchenghua09 已提交
37 38 39 40 41 42 43 44 45 46 47

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



X
xuzhihao 已提交
48
## Context.getOrCreateLocalDir<sup>7+</sup>
Z
zengyawen 已提交
49 50

getOrCreateLocalDir(): Promise\<string>
X
xuchenghua09 已提交
51

Z
zengyawen 已提交
52
获取应用程序的本地根目录(Promise形式)。
X
xuchenghua09 已提交
53

Z
zengyawen 已提交
54
如果是第一次调用,将创建目录。
X
xuchenghua09 已提交
55

Y
yuyaozhi 已提交
56
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
57

Z
zengyawen 已提交
58
**返回值:**
X
xuchenghua09 已提交
59

Z
zengyawen 已提交
60 61 62
| 类型             | 说明                   |
| ---------------- | ---------------------- |
| Promise\<string> | 应用程序的本地根目录。 |
X
xuchenghua09 已提交
63

Z
zengyawen 已提交
64
**示例:**
X
xuchenghua09 已提交
65 66 67 68

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
69 70
context.getOrCreateLocalDir().then((data) => {
    console.info("data=" + data);
X
xuchenghua09 已提交
71 72 73 74 75
});
```



X
xuzhihao 已提交
76
## Context.verifyPermission<sup>7+</sup>
X
xuchenghua09 已提交
77

Z
zengyawen 已提交
78
verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\<number>): void
X
xuchenghua09 已提交
79

Z
zengyawen 已提交
80
验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)。
X
xuchenghua09 已提交
81

Y
yuyaozhi 已提交
82
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
83

Z
zengyawen 已提交
84
**参数:**
X
xuchenghua09 已提交
85

Z
zengyawen 已提交
86 87 88 89 90
| 名称       | 类型                                    | 必填 | 描述                                  |
| ---------- | --------------------------------------- | ---- | ------------------------------------- |
| permission | string                                  | 是   | 指定权限的名称。                      |
| options    | [PermissionOptions](#permissionoptions) | 是   | 权限选项。                            |
| callback   | AsyncCallback\<number>                  | 是   | 返回权限验证结果,0有权限,-1无权限。 |
X
xuchenghua09 已提交
91

Z
zengyawen 已提交
92
**示例:**
X
xuchenghua09 已提交
93 94 95 96 97

```js
import featureAbility from '@ohos.ability.featureAbility'
import bundle from '@ohos.bundle'
var context = featureAbility.getContext();
Y
yuyaozhi 已提交
98 99
bundle.getBundleInfo('com.context.test', 1, (err,datainfo) =>{
	context.verifyPermission("com.example.permission", {uid:datainfo.uid});
ahjxliubao2's avatar
ahjxliubao2 已提交
100
});
X
xuchenghua09 已提交
101 102 103 104
```



X
xuzhihao 已提交
105
## Context.verifyPermission<sup>7+</sup>
X
xuchenghua09 已提交
106

Z
zengyawen 已提交
107
verifyPermission(permission: string, callback: AsyncCallback\<number>): void
X
xuchenghua09 已提交
108

Z
zengyawen 已提交
109
验证系统中运行的当前pid和uid是否具有指定的权限(callback形式)。
X
xuchenghua09 已提交
110

Y
yuyaozhi 已提交
111
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
X
xuchenghua09 已提交
112

Y
yuyaozhi 已提交
113
**参数:**
X
xuchenghua09 已提交
114

Z
zengyawen 已提交
115 116 117 118
| 名称       | 类型                   | 必填 | 描述                                  |
| ---------- | ---------------------- | ---- | ------------------------------------- |
| permission | string                 | 是   | 指定权限的名称。                      |
| callback   | AsyncCallback\<number> | 是   | 返回权限验证结果,0有权限,-1无权限。 |
X
xuchenghua09 已提交
119

Z
zengyawen 已提交
120
**示例:**
X
xuchenghua09 已提交
121 122 123 124 125 126 127

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

X
xuzhihao 已提交
128
## Context.verifyPermission<sup>7+</sup>
X
xuchenghua09 已提交
129

Z
zengyawen 已提交
130
verifyPermission(permission: string, options?: PermissionOptions): Promise\<number>
X
xuchenghua09 已提交
131

Z
zengyawen 已提交
132
验证系统中运行的特定pid和uid是否具有指定的权限(Promise形式)。
X
xuchenghua09 已提交
133

Y
yuyaozhi 已提交
134
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
135

Z
zengyawen 已提交
136
**参数:**
X
xuchenghua09 已提交
137

Z
zengyawen 已提交
138 139 140 141
| 名称       | 类型                                    | 必填 | 描述             |
| ---------- | --------------------------------------- | ---- | ---------------- |
| permission | string                                  | 是   | 指定权限的名称。 |
| options    | [PermissionOptions](#permissionoptions) | 否   | 权限选项。       |
X
xuchenghua09 已提交
142

Z
zengyawen 已提交
143
**返回值:**
X
xuchenghua09 已提交
144

Z
zengyawen 已提交
145 146 147
| 类型             | 说明                                                        |
| ---------------- | ----------------------------------------------------------- |
| Promise\<number> | 如果pid和uid具有权限,则使用0进行异步回调;否则使用-1回调。 |
X
xuchenghua09 已提交
148

Z
zengyawen 已提交
149
**示例:**
X
xuchenghua09 已提交
150 151 152 153

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
Y
yuyaozhi 已提交
154
var Permission = {pid:1};
155 156 157
context.verifyPermission('com.context.permission',Permission).then((data) => {
    console.info("======================>verifyPermissionCallback====================>");
    console.info("====>data====>" + JSON.stringify(data));
X
xuchenghua09 已提交
158 159 160 161 162
});
```



X
xuzhihao 已提交
163
## Context.requestPermissionsFromUser<sup>7+</sup>
X
xuchenghua09 已提交
164

Y
yuyaozhi 已提交
165
requestPermissionsFromUser(permissions: Array\<string>, requestCode: number, resultCallback: AsyncCallback<[PermissionRequestResult](#permissionrequestresult)>): void
X
xuchenghua09 已提交
166

Z
zengyawen 已提交
167
从系统请求某些权限(callback形式)。
X
xuchenghua09 已提交
168

Y
yuyaozhi 已提交
169
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
170

Z
zengyawen 已提交
171
**参数:**
X
xuchenghua09 已提交
172

Z
zengyawen 已提交
173 174 175 176 177
| 名称           | 类型                                                         | 必填 | 描述                                            |
| -------------- | ------------------------------------------------------------ | ---- | ----------------------------------------------- |
| permissions    | Array\<string>                                               | 是   | 指示要请求的权限列表。此参数不能为null。        |
| requestCode    | number                                                       | 是   | 指示要传递给PermissionRequestResult的请求代码。 |
| resultCallback | AsyncCallback<[PermissionRequestResult](#permissionrequestresult)> | 是   | 返回授权结果信息。                              |
Y
yuyaozhi 已提交
178

Z
zengyawen 已提交
179
**示例:**
X
xuchenghua09 已提交
180 181 182 183

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
184
context.requestPermissionsFromUser(
X
xuchenghua09 已提交
185 186 187 188 189
    ["com.example.permission1",
     "com.example.permission2",
     "com.example.permission3",
     "com.example.permission4",
     "com.example.permission5"],
190 191 192 193
    1,(err, data)=>{
        console.info("====>requestdata====>" + JSON.stringify(data));
        console.info("====>requesterrcode====>" + JSON.stringify(err.code));
    }
X
xuchenghua09 已提交
194 195 196 197 198
)
```



X
xuzhihao 已提交
199
## Context.getApplicationInfo<sup>7+</sup>
X
xuchenghua09 已提交
200

Y
yuyaozhi 已提交
201
getApplicationInfo(callback: AsyncCallback\<ApplicationInfo>): void
X
xuchenghua09 已提交
202

Z
zengyawen 已提交
203
获取有关当前应用程序的信息(callback形式)。
X
xuchenghua09 已提交
204

Y
yuyaozhi 已提交
205
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
206

Z
zengyawen 已提交
207
**参数:**
X
xuchenghua09 已提交
208

Z
zengyawen 已提交
209 210 211
| 名称     | 类型                            | 必填 | 描述                     |
| -------- | ------------------------------- | ---- | ------------------------ |
| callback | AsyncCallback\<ApplicationInfo> | 是   | 返回当前应用程序的信息。 |
X
xuchenghua09 已提交
212

Z
zengyawen 已提交
213
**示例:**
X
xuchenghua09 已提交
214 215 216 217 218 219 220 221 222

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



X
xuzhihao 已提交
223
## Context.getApplicationInfo<sup>7+</sup>
X
xuchenghua09 已提交
224

Z
zengyawen 已提交
225
getApplicationInfo(): Promise\<ApplicationInfo>
X
xuchenghua09 已提交
226

Z
zengyawen 已提交
227
获取有关当前应用程序的信息(Promise形式)。
X
xuchenghua09 已提交
228

Y
yuyaozhi 已提交
229
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
230

Z
zengyawen 已提交
231
**返回值:**
X
xuchenghua09 已提交
232

Z
zengyawen 已提交
233 234 235
| 类型                      | 说明               |
| ------------------------- | ------------------ |
| Promise\<ApplicationInfo> | 当前应用程序的信息 |
X
xuchenghua09 已提交
236

Z
zengyawen 已提交
237
**示例:**
X
xuchenghua09 已提交
238 239 240 241

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
242 243 244
context.getApplicationInfo().then((data) => {
    console.info("=====================>getApplicationInfoCallback===================>");
    console.info("====>data====>" + JSON.stringify(data));
X
xuchenghua09 已提交
245 246 247 248 249
});
```



X
xuzhihao 已提交
250
## Context.getBundleName<sup>7+</sup>
X
xuchenghua09 已提交
251

Z
zengyawen 已提交
252
getBundleName(callback: AsyncCallback\<string>): void
X
xuchenghua09 已提交
253

Z
zengyawen 已提交
254
获取当前ability的捆绑包名称(callback形式)。
X
xuchenghua09 已提交
255

Y
yuyaozhi 已提交
256
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
257

Z
zengyawen 已提交
258
**参数:**
X
xuchenghua09 已提交
259

Z
zengyawen 已提交
260 261 262
| 名称     | 类型                   | 必填 | 描述                          |
| -------- | ---------------------- | ---- | ----------------------------- |
| callback | AsyncCallback\<string> | 是   | 返回当前ability的捆绑包名称。 |
X
xuchenghua09 已提交
263

Z
zengyawen 已提交
264
**示例:**
X
xuchenghua09 已提交
265 266 267 268 269 270 271 272 273

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



X
xuzhihao 已提交
274
## Context.getBundleName<sup>7+</sup>
X
xuchenghua09 已提交
275

Z
zengyawen 已提交
276
getBundleName(): Promise\<string>
X
xuchenghua09 已提交
277

Z
zengyawen 已提交
278
获取当前ability的捆绑包名称(Promise形式)。
X
xuchenghua09 已提交
279

Y
yuyaozhi 已提交
280
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
281

Z
zengyawen 已提交
282
**返回值:**
X
xuchenghua09 已提交
283

Z
zengyawen 已提交
284 285 286
| 类型             | 说明                      |
| ---------------- | ------------------------- |
| Promise\<string> | 当前ability的捆绑包名称。 |
X
xuchenghua09 已提交
287

Z
zengyawen 已提交
288
**示例:**
X
xuchenghua09 已提交
289 290 291 292

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
293 294 295
context.getBundleName().then((data) => {
    console.info("=======================>getBundleNameCallback====================>");
    console.info("====>data====>" + JSON.stringify(data));
X
xuchenghua09 已提交
296 297 298 299 300
});
```



X
xuzhihao 已提交
301
## Context.getProcessInfo<sup>7+</sup>
X
xuchenghua09 已提交
302

Y
yuyaozhi 已提交
303
getProcessInfo(callback: AsyncCallback\<ProcessInfo>): void
X
xuchenghua09 已提交
304

Z
zengyawen 已提交
305
获取有关当前进程的信息,包括进程ID和名称(callback形式)。
X
xuchenghua09 已提交
306

Y
yuyaozhi 已提交
307
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
308

Z
zengyawen 已提交
309
**参数:**
X
xuchenghua09 已提交
310

Z
zengyawen 已提交
311 312 313
| 名称     | 类型                        | 必填 | 描述                 |
| -------- | --------------------------- | ---- | -------------------- |
| callback | AsyncCallback\<ProcessInfo> | 是   | 返回当前进程的信息。 |
X
xuchenghua09 已提交
314

Z
zengyawen 已提交
315
**示例:**
X
xuchenghua09 已提交
316 317 318 319 320 321 322 323 324

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



X
xuzhihao 已提交
325
## Context.getProcessInfo<sup>7+</sup>
X
xuchenghua09 已提交
326

Z
zengyawen 已提交
327
getProcessInfo(): Promise\<ProcessInfo>
X
xuchenghua09 已提交
328

Z
zengyawen 已提交
329
获取有关当前进程的信息,包括进程id和名称(Promise形式)。
X
xuchenghua09 已提交
330

Y
yuyaozhi 已提交
331
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
332

Z
zengyawen 已提交
333
**返回值:**
X
xuchenghua09 已提交
334

Z
zengyawen 已提交
335 336 337
| 类型                  | 说明           |
| --------------------- | -------------- |
| Promise\<ProcessInfo> | 当前进程的信息 |
X
xuchenghua09 已提交
338

Z
zengyawen 已提交
339
**示例:**
X
xuchenghua09 已提交
340 341 342 343

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
344 345 346
context.getProcessInfo().then((data) => {
    console.info("=======================>getProcessInfoCallback====================>");
    console.info("====>data====>" + JSON.stringify(data));
X
xuchenghua09 已提交
347 348 349 350 351
});
```



X
xuzhihao 已提交
352
## Context.getElementName<sup>7+</sup>
X
xuchenghua09 已提交
353

Z
zengyawen 已提交
354
getElementName(callback: AsyncCallback\<ElementName>): void
X
xuchenghua09 已提交
355

Z
zengyawen 已提交
356
获取当前ability的ohos.bundle.ElementName对象(callback形式)。
X
xuchenghua09 已提交
357

Z
zengyawen 已提交
358
此方法仅适用于页面功能。
X
xuchenghua09 已提交
359

Y
yuyaozhi 已提交
360
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
361

Z
zengyawen 已提交
362
**参数:**
X
xuchenghua09 已提交
363

Z
zengyawen 已提交
364 365 366
| 名称     | 类型                        | 必填 | 描述                                           |
| -------- | --------------------------- | ---- | ---------------------------------------------- |
| callback | AsyncCallback\<ElementName> | 是   | 返回当前ability的ohos.bundle.ElementName对象。 |
X
xuchenghua09 已提交
367

Z
zengyawen 已提交
368
**示例:**
X
xuchenghua09 已提交
369 370 371 372 373 374 375 376 377

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



X
xuzhihao 已提交
378
## Context.getElementName<sup>7+</sup>
X
xuchenghua09 已提交
379

Z
zengyawen 已提交
380
getElementName(): Promise\<ElementName>
X
xuchenghua09 已提交
381

Z
zengyawen 已提交
382
获取当前能力的ohos.bundle.ElementName对象(Promise形式)。
X
xuchenghua09 已提交
383

Z
zengyawen 已提交
384
此方法仅适用于页面功能。
X
xuchenghua09 已提交
385

Y
yuyaozhi 已提交
386
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
387

Z
zengyawen 已提交
388
**返回值:**
X
xuchenghua09 已提交
389

Z
zengyawen 已提交
390 391 392
| 类型                  | 说明                                       |
| --------------------- | ------------------------------------------ |
| Promise\<ElementName> | 当前ability的ohos.bundle.ElementName对象。 |
X
xuchenghua09 已提交
393

Z
zengyawen 已提交
394
**示例:**
X
xuchenghua09 已提交
395 396 397 398

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
399 400 401
context.getElementName().then((data) => {
    console.info("=======================>getElementNameCallback====================>");
    console.info("====>data====>" + JSON.stringify(data));
X
xuchenghua09 已提交
402 403 404
});
```

X
xuzhihao 已提交
405
## Context.getProcessName<sup>7+</sup>
X
xuchenghua09 已提交
406

Z
zengyawen 已提交
407
getProcessName(callback: AsyncCallback\<string>): void
X
xuchenghua09 已提交
408

Z
zengyawen 已提交
409
获取当前进程的名称(callback形式)。
X
xuchenghua09 已提交
410

Y
yuyaozhi 已提交
411
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
412

Y
yuyaozhi 已提交
413
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
414

Z
zengyawen 已提交
415 416 417
| 名称     | 类型                   | 必填 | 描述                 |
| -------- | ---------------------- | ---- | -------------------- |
| callback | AsyncCallback\<string> | 是   | 返回当前进程的名称。 |
X
xuchenghua09 已提交
418

Z
zengyawen 已提交
419
**示例:**
X
xuchenghua09 已提交
420 421 422 423 424 425 426 427 428

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



X
xuzhihao 已提交
429
## Context.getProcessName<sup>7+</sup>
X
xuchenghua09 已提交
430

Z
zengyawen 已提交
431
getProcessName(): Promise\<string>
X
xuchenghua09 已提交
432

Z
zengyawen 已提交
433
获取当前进程的名称(Promise形式)。
X
xuchenghua09 已提交
434

Y
yuyaozhi 已提交
435
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
436

Z
zengyawen 已提交
437
**返回值:**
X
xuchenghua09 已提交
438

Z
zengyawen 已提交
439 440 441
| 类型             | 说明                 |
| ---------------- | -------------------- |
| Promise\<string> | 返回当前进程的名称。 |
X
xuchenghua09 已提交
442

Z
zengyawen 已提交
443
**示例:**
X
xuchenghua09 已提交
444 445 446 447

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
448 449 450
context.getProcessName().then((data) => {
    console.info("=======================>getProcessNameCallback====================>");
    console.info("====>data====>" + JSON.stringify(data));
X
xuchenghua09 已提交
451 452 453 454 455
});
```



X
xuzhihao 已提交
456
## Context.getCallingBundle<sup>7+</sup>
X
xuchenghua09 已提交
457

Z
zengyawen 已提交
458
getCallingBundle(callback: AsyncCallback\<string>): void
X
xuchenghua09 已提交
459

Z
zengyawen 已提交
460
获取调用ability的包名称(callback形式)。
X
xuchenghua09 已提交
461

Y
yuyaozhi 已提交
462
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
463

Z
zengyawen 已提交
464
**参数:**
X
xuchenghua09 已提交
465

Z
zengyawen 已提交
466 467 468
| 名称     | 类型                   | 必填 | 描述                      |
| -------- | ---------------------- | ---- | ------------------------- |
| callback | AsyncCallback\<string> | 是   | 返回调用ability的包名称。 |
X
xuchenghua09 已提交
469

Z
zengyawen 已提交
470
**示例:**
X
xuchenghua09 已提交
471 472 473 474 475 476 477 478 479

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



X
xuzhihao 已提交
480
## Context.getCallingBundle<sup>7+</sup>
X
xuchenghua09 已提交
481

Z
zengyawen 已提交
482
getCallingBundle(): Promise\<string>
X
xuchenghua09 已提交
483

Z
zengyawen 已提交
484
获取调用ability的包名称(Promise形式)。
X
xuchenghua09 已提交
485

Y
yuyaozhi 已提交
486
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
487

Z
zengyawen 已提交
488
**返回值:**
X
xuchenghua09 已提交
489

Z
zengyawen 已提交
490 491
| 类型            | 说明                      |
| --------------- | ------------------------- |
492
| Promise\<string> | 调用ability的包名称。 |
X
xuchenghua09 已提交
493

Z
zengyawen 已提交
494
**示例:**
X
xuchenghua09 已提交
495 496 497 498

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getContext();
499 500 501
context.getCallingBundle().then((data) => {
    console.info("======================>getCallingBundleCallback====================>");
    console.info("====>data====>" + JSON.stringify(data));
X
xuchenghua09 已提交
502 503 504
});
```

X
xuzhihao 已提交
505
## Context.getCacheDir
D
dy 已提交
506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522

getCacheDir(callback: AsyncCallback\<string>): void

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

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

**参数:**

| 名称     | 类型                   | 必填 | 描述                      |
| -------- | ---------------------- | ---- | ------------------------- |
| callback | AsyncCallback\<string> | 是   | 返回该应用程序的内部存储目录。|

**示例:**

```js
import featureAbility from '@ohos.ability.featureAbility'
Z
zhongjianfei 已提交
523
var context = featureAbility.getContext();
D
dy 已提交
524 525 526 527 528 529 530 531 532
context.getCacheDir((err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
});
```

X
xuzhihao 已提交
533
## Context.getCacheDir
D
dy 已提交
534 535 536 537 538 539 540 541 542 543 544

getCacheDir(): Promise\<string>

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

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

**返回值:**

| 类型            | 说明                      |
| --------------- | ------------------------- |
545
| Promise\<string> | 获取该应用程序的内部存储目录。 |
D
dy 已提交
546 547 548 549 550 551 552 553 554 555 556 557

**示例:**

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

X
xuzhihao 已提交
558
## Context.getFilesDir
D
dy 已提交
559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575

getFilesDir(callback: AsyncCallback\<string>): void

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

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

**参数:**

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

**示例:**

```js
import featureAbility from '@ohos.ability.featureAbility'
Z
zhongjianfei 已提交
576
var context = featureAbility.getContext();
D
dy 已提交
577 578 579 580 581 582 583 584 585
context.getFilesDir((err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
});
```

X
xuzhihao 已提交
586
## Context.getFilesDir
D
dy 已提交
587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610

getFilesDir(): Promise\<string>

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

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

**返回值:**

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

**示例:**

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

X
xuzhihao 已提交
611
## Context.getOrCreateDistributedDir<sup>7+</sup>
D
dy 已提交
612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640

getOrCreateDistributedDir(callback: AsyncCallback\<string>): void

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

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

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

**参数:**

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

**示例:**

```js
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));
});
```

X
xuzhihao 已提交
641
## Context.getOrCreateDistributedDir<sup>7+</sup>
D
dy 已提交
642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666

getOrCreateDistributedDir(): Promise\<string>

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

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

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

**返回值:**

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

**示例:**

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

X
xuzhihao 已提交
667
## Context.getAppType<sup>7+</sup>
D
dy 已提交
668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694

getAppType(callback: AsyncCallback\<string>): void

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

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

**参数:**

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

**示例:**

```js
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));
});
```

X
xuzhihao 已提交
695
## Context.getAppType<sup>7+</sup>
D
dy 已提交
696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718

getAppType(): Promise\<string>

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

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

**返回值:**

| 类型            | 说明                      |
| --------------- | ------------------------- |
| Promise\<string> | Promise形式返回此应用的类型。 |

**示例:**

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

X
xuzhihao 已提交
719
## Context.getHapModuleInfo<sup>7+</sup>
D
dy 已提交
720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746

getHapModuleInfo(callback: AsyncCallback\<HapModuleInfo>): void

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

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

**参数:**

| 名称     | 类型                   | 必填 | 描述                      |
| -------- | ---------------------- | ---- | ------------------------- |
| callback | AsyncCallback\<[HapModuleInfo](#hapmoduleinfo)> | 是   | 回调函数,可以在回调函数中处理接口返回值,返回应用的ModuleInfo对象。|

**示例:**

```js
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));
});
```

X
xuzhihao 已提交
747
## Context.getHapModuleInfo<sup>7+</sup>
D
dy 已提交
748 749 750 751 752 753 754 755 756 757 758

getHapModuleInfo(): Promise\<HapModuleInfo>

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

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

**返回值:**

| 类型            | 说明                      |
| --------------- | ------------------------- |
759
| Promise\<[HapModuleInfo](#hapmoduleinfo)> | 返回应用的ModuleInfo对象。 |
D
dy 已提交
760 761 762 763 764 765 766 767 768 769 770

**示例:**

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

X
xuzhihao 已提交
771
## Context.getAppVersionInfo<sup>7+</sup>
D
dy 已提交
772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798

getAppVersionInfo(callback: AsyncCallback\<HapModuleInfo>): void

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

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

**参数:**

| 名称     | 类型                   | 必填 | 描述                      |
| -------- | ---------------------- | ---- | ------------------------- |
| callback | AsyncCallback\<[AppVersionInfo](#appversioninfo)> | 是   | 回调函数,可以在回调函数中处理接口返回值,返回应用版本信息。|

**示例:**

```js
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));
});
```

X
xuzhihao 已提交
799
## Context.getAppVersionInfo<sup>7+</sup>
D
dy 已提交
800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822

getAppVersionInfo(): Promise\<AppVersionInfo>

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

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

**返回值:**

| 类型            | 说明                      |
| --------------- | ------------------------- |
| Promise\<[AppVersionInfo](#appversioninfo)> | 返回应用版本信息。 |

**示例:**

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

X
xuzhihao 已提交
823
## Context.getAbilityInfo<sup>7+</sup>
D
dy 已提交
824 825 826 827 828 829 830 831 832 833 834

getAbilityInfo(callback: AsyncCallback\<AbilityInfo>): void

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

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

**参数:**

| 名称     | 类型                   | 必填 | 描述                      |
| -------- | ---------------------- | ---- | ------------------------- |
835
| callback | AsyncCallback\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | 是   | 回调函数,可以在回调函数中处理接口返回值,返回当前归属Ability详细信息。|
D
dy 已提交
836 837 838 839 840 841 842 843 844 845 846 847 848 849 850

**示例:**

```js
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));
});
```

X
xuzhihao 已提交
851
## Context.getAbilityInfo<sup>7+</sup>
D
dy 已提交
852 853 854 855 856 857 858 859 860 861 862

getAbilityInfo(): Promise\<AbilityInfo>

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

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

**返回值:**

| 类型            | 说明                      |
| --------------- | ------------------------- |
863
| Promise\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | 返回当前归属Ability详细信息。 |
D
dy 已提交
864 865 866 867 868 869 870 871 872 873 874

**示例:**

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

X
xuzhihao 已提交
875
## Context.getApplicationContext<sup>7+</sup>
D
dy 已提交
876 877 878 879 880 881 882 883 884

getApplicationContext(): Context

获取应用上下文信息。

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

**返回值:**

885 886
| 类型      | 说明   |
| --------- |------ |
887
|  Context | 返回应用上下文信息。 |
D
dy 已提交
888 889 890 891 892 893 894 895

**示例:**

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

X
xuzhihao 已提交
896
## PermissionOptions<sup>7+</sup>
Z
zengyawen 已提交
897

ahjxliubao2's avatar
ahjxliubao2 已提交
898 899
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

Z
zengyawen 已提交
900 901
| 名称 | 读写属性 | 类型   | 必填 | 描述   |
| ---- | -------- | ------ | ---- | ------ |
ahjxliubao2's avatar
ahjxliubao2 已提交
902 903
| pid  | 只读     | number | 否   | 进程id。 |
| uid  | 只读     | number | 否   | 用户id。 |
Z
zengyawen 已提交
904

X
xuzhihao 已提交
905
## PermissionRequestResult<sup>7+</sup>
Z
zengyawen 已提交
906

ahjxliubao2's avatar
ahjxliubao2 已提交
907 908
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

Z
zengyawen 已提交
909 910
| 名称        | 读写属性 | 类型           | 必填 | 描述               |
| ----------- | -------- | -------------- | ---- | ------------------ |
ahjxliubao2's avatar
ahjxliubao2 已提交
911 912
| requestCode | 只读     | number         | 是   | 用户传入的请求代码。 |
| permissions | 只读     | Array\<string> | 是   | 用户传入的权限。     |
913
| authResults | 只读     | Array\<number> | 是   | 请求权限的结果。    |
D
dy 已提交
914

X
xuzhihao 已提交
915
## HapModuleInfo<sup>7+</sup>
D
dy 已提交
916 917 918 919 920

Hap模块信息

| 名称               | 类型 | 可读 | 可写 | 说明 |
| ------ | ------ | ------ | ------ | ------ |
921 922 923 924 925 926 927 928 929
| name             | string        | 是   | 否   | 模块名称。           |
| description      | string        | 是   | 否   | 模块描述信息。       |
| descriptionId    | number        | 是   | 否   | 描述信息ID。         |
| icon             | string        | 是   | 否   | 模块图标。           |
| label            | string        | 是   | 否   | 模块标签。           |
| labelId          | number        | 是   | 否   | 模块标签ID。         |
| iconId           | number        | 是   | 否   | 模块图标ID。         |
| backgroundImg    | string        | 是   | 否   | 模块背景图片。       |
| supportedModes   | number        | 是   | 否   | 模块支持的模式。     |
Z
zengyawen 已提交
930 931 932
| reqCapabilities  | Array\<string> | 是   | 否   | 模块运行需要的能力。 |
| deviceTypes      | Array\<string> | 是   | 否   | 支持运行的设备类型。 |
| abilityInfo      | Array\<AbilityInfo> | 是   | 否   | Ability信息。  |
933 934 935 936
| moduleName       | string        | 是   | 否   | 模块名。             |
| mainAbilityName  | string        | 是   | 否   | 入口Ability名称。    |
| installationFree | boolean       | 是   | 否   | 是否支持免安装。     |
| mainElementName | string | 是 | 否 | 入口ability信息。 |
D
dy 已提交
937

X
xuzhihao 已提交
938
## AppVersionInfo<sup>7+</sup>
D
dy 已提交
939 940 941

| 名称             | 类型 | 可读    | 可写   | 说明 |
| ------          | ------ | ------| ------ | ------    |
942 943 944
| appName         | string | 是    | 否     | 模块名称。      |
| versionCode     | number | 是    | 否     | 模块描述信息。   |
| versionName     | string | 是    | 否     | 描述信息ID。     |