js-apis-Context.md 29.2 KB
Newer Older
X
xuchenghua09 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# Context模块

## 导入模块

```js
import featureAbility from '@ohos.ability.featureAbility'
import bundle from '@ohos.bundle'
```

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

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

Y
yuyaozhi 已提交
18
## Context.getOrCreateLocalDir
X
xuchenghua09 已提交
19

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

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

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

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

Z
zengyawen 已提交
28
**参数:**
X
xuchenghua09 已提交
29

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

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

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



Y
yuyaozhi 已提交
46
## Context.getOrCreateLocalDir
Z
zengyawen 已提交
47 48

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

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

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

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

Z
zengyawen 已提交
56
**返回值:**
X
xuchenghua09 已提交
57

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

Z
zengyawen 已提交
62
**示例:**
X
xuchenghua09 已提交
63 64 65 66

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



Y
yuyaozhi 已提交
74
## Context.verifyPermission
X
xuchenghua09 已提交
75

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

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

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

Z
zengyawen 已提交
82
**参数:**
X
xuchenghua09 已提交
83

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

Z
zengyawen 已提交
90
**示例:**
X
xuchenghua09 已提交
91 92 93 94 95

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



Y
yuyaozhi 已提交
103
## Context.verifyPermission
X
xuchenghua09 已提交
104

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

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

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

Y
yuyaozhi 已提交
111
**参数:**
X
xuchenghua09 已提交
112

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

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

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

Y
yuyaozhi 已提交
126
## Context.verifyPermission
X
xuchenghua09 已提交
127

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

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

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

Z
zengyawen 已提交
134
**参数:**
X
xuchenghua09 已提交
135

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

Z
zengyawen 已提交
141
**返回值:**
X
xuchenghua09 已提交
142

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

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

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



Y
yuyaozhi 已提交
161
## Context.requestPermissionsFromUser
X
xuchenghua09 已提交
162

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

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

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

Z
zengyawen 已提交
169
**参数:**
X
xuchenghua09 已提交
170

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

Z
zengyawen 已提交
177
**示例:**
X
xuchenghua09 已提交
178 179 180 181

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



Y
yuyaozhi 已提交
197
## Context.getApplicationInfo
X
xuchenghua09 已提交
198

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

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

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

Z
zengyawen 已提交
205
**参数:**
X
xuchenghua09 已提交
206

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

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

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



Y
yuyaozhi 已提交
221
## Context.getApplicationInfo
X
xuchenghua09 已提交
222

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

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

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

Z
zengyawen 已提交
229
**返回值:**
X
xuchenghua09 已提交
230

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

Z
zengyawen 已提交
235
**示例:**
X
xuchenghua09 已提交
236 237 238 239

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



Y
yuyaozhi 已提交
248
## Context.getBundleName
X
xuchenghua09 已提交
249

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

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

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

Z
zengyawen 已提交
256
**参数:**
X
xuchenghua09 已提交
257

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

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

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



Y
yuyaozhi 已提交
272
## Context.getBundleName
X
xuchenghua09 已提交
273

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

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

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

Z
zengyawen 已提交
280
**返回值:**
X
xuchenghua09 已提交
281

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

Z
zengyawen 已提交
286
**示例:**
X
xuchenghua09 已提交
287 288 289 290

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



Y
yuyaozhi 已提交
299
## Context.getProcessInfo
X
xuchenghua09 已提交
300

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

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

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

Z
zengyawen 已提交
307
**参数:**
X
xuchenghua09 已提交
308

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

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

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



Y
yuyaozhi 已提交
323
## Context.getProcessInfo
X
xuchenghua09 已提交
324

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

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

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

Z
zengyawen 已提交
331
**返回值:**
X
xuchenghua09 已提交
332

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

Z
zengyawen 已提交
337
**示例:**
X
xuchenghua09 已提交
338 339 340 341

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



Y
yuyaozhi 已提交
350
## Context.getElementName
X
xuchenghua09 已提交
351

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

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

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

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

Z
zengyawen 已提交
360
**参数:**
X
xuchenghua09 已提交
361

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

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

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



Y
yuyaozhi 已提交
376
## Context.getElementName
X
xuchenghua09 已提交
377

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

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

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

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

Z
zengyawen 已提交
386
**返回值:**
X
xuchenghua09 已提交
387

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

Z
zengyawen 已提交
392
**示例:**
X
xuchenghua09 已提交
393 394 395 396

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

Y
yuyaozhi 已提交
403
## Context.getProcessName
X
xuchenghua09 已提交
404

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

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

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

Y
yuyaozhi 已提交
411
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
412

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

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

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



Y
yuyaozhi 已提交
427
## Context.getProcessName
X
xuchenghua09 已提交
428

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

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

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

Z
zengyawen 已提交
435
**返回值:**
X
xuchenghua09 已提交
436

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

Z
zengyawen 已提交
441
**示例:**
X
xuchenghua09 已提交
442 443 444 445

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



Y
yuyaozhi 已提交
454
## Context.getCallingBundle
X
xuchenghua09 已提交
455

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

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

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

Z
zengyawen 已提交
462
**参数:**
X
xuchenghua09 已提交
463

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

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

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



Y
yuyaozhi 已提交
478
## Context.getCallingBundle
X
xuchenghua09 已提交
479

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

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

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

Z
zengyawen 已提交
486
**返回值:**
X
xuchenghua09 已提交
487

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

Z
zengyawen 已提交
492
**示例:**
X
xuchenghua09 已提交
493 494 495 496

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

D
dy 已提交
503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 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 641 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 667 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 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 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 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 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 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882
## Context.getCacheDir

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

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

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

**参数:**

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

**示例:**

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getCacheDir();
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\<string>

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

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

**返回值:**

| 类型            | 说明                      |
| --------------- | ------------------------- |
| Promise\<string> | 获取该应用程序的内部存储目录 |

**示例:**

```js
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\<string>): void

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

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

**参数:**

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

**示例:**

```js
import featureAbility from '@ohos.ability.featureAbility'
var context = featureAbility.getFilesDir();
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\<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));
});
```

## Context.getOrCreateDistributedDir

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

## Context.getOrCreateDistributedDir

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

## Context.getAppType

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

## Context.getAppType

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

## Context.getHapModuleInfo

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

## Context.getHapModuleInfo

getHapModuleInfo(): Promise\<HapModuleInfo>

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

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

**返回值:**

| 类型            | 说明                      |
| --------------- | ------------------------- |
| Promise\<[HapModuleInfo](#hapmoduleinfo)> | Promise形式返回应用的ModuleInfo对象。 |

**示例:**

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

## Context.getAppVersionInfo

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

## Context.getAppVersionInfo

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

## Context.getAbilityInfo

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

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

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

**参数:**

| 名称     | 类型                   | 必填 | 描述                      |
| -------- | ---------------------- | ---- | ------------------------- |
| callback | AsyncCallback\<[AbilityInfo](#abilityInfo)> | 是   |回调函数,可以在回调函数中处理接口返回值,返回当前归属Ability详细信息。|

**示例:**

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

## Context.getAbilityInfo

getAbilityInfo(): Promise\<AbilityInfo>

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

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

**返回值:**

| 类型            | 说明                      |
| --------------- | ------------------------- |
| Promise\<[AbilityInfo](#abilityInfo)> | 返回当前归属Ability详细信息。 |

**示例:**

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

## Context.getApplicationContext

getApplicationContext(): Context

获取应用上下文信息。

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
894 895
## PermissionOptions

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

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

## PermissionRequestResult

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

Z
zengyawen 已提交
907 908
| 名称        | 读写属性 | 类型           | 必填 | 描述               |
| ----------- | -------- | -------------- | ---- | ------------------ |
ahjxliubao2's avatar
ahjxliubao2 已提交
909 910
| requestCode | 只读     | number         | 是   | 用户传入的请求代码。 |
| permissions | 只读     | Array\<string> | 是   | 用户传入的权限。     |
911
| authResults | 只读     | Array\<number> | 是   | 请求权限的结果。    |
D
dy 已提交
912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942

## HapModuleInfo

Hap模块信息

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

## AppVersionInfo

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