js-apis-inner-app-context.md 44.2 KB
Newer Older
Z
zengyawen 已提交
1
# Context
X
xuchenghua09 已提交
2

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

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

10 11
## 使用说明

Z
zhongjianfei 已提交
12
Context对象是在featureAbility中创建实例,并通过featureAbility的[getContext](js-apis-ability-featureAbility.md#featureabilitygetcontext)接口返回,因此在使用Context时,必须导入@ohos.ability.featureAbility库。示例如下:
X
xuchenghua09 已提交
13

M
m00512953 已提交
14
```ts
D
dy_study 已提交
15
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
16
let context = featureAbility.getContext();
D
dy_study 已提交
17
context.getOrCreateLocalDir().then((data) => {
M
mingxihua 已提交
18
    console.info('getOrCreateLocalDir data: ${JSON.stringify(data)}');
D
dy_study 已提交
19
});
X
xuchenghua09 已提交
20 21
```

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

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

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

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

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

Z
zengyawen 已提交
32
**参数:**
X
xuchenghua09 已提交
33

D
merge  
donglin 已提交
34
| 参数名       | 类型                     | 必填   | 说明            |
35 36
| -------- | ---------------------- | ---- | ------------- |
| callback | AsyncCallback\<string> | 是    | 返回应用程序的本地根目录。 |
X
xuchenghua09 已提交
37

Z
zengyawen 已提交
38
**示例:**
X
xuchenghua09 已提交
39

M
m00512953 已提交
40
```ts
D
dy_study 已提交
41
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
42
let context = featureAbility.getContext();
M
mingxihua 已提交
43 44 45 46 47 48
context.getOrCreateLocalDir((error, data)=>{
    if (error && error.code !== 0) {
        console.error('getOrCreateLocalDir fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getOrCreateLocalDir success, data: ${JSON.stringify(data)}');
    }
D
dy_study 已提交
49
});
X
xuchenghua09 已提交
50 51 52 53
```



X
xuzhihao 已提交
54
## Context.getOrCreateLocalDir<sup>7+</sup>
Z
zengyawen 已提交
55 56

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

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

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

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

Z
zengyawen 已提交
64
**返回值:**
X
xuchenghua09 已提交
65

66 67
| 类型               | 说明          |
| ---------------- | ----------- |
Z
zengyawen 已提交
68
| Promise\<string> | 应用程序的本地根目录。 |
X
xuchenghua09 已提交
69

Z
zengyawen 已提交
70
**示例:**
X
xuchenghua09 已提交
71

M
m00512953 已提交
72
```ts
D
dy_study 已提交
73
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
74
let context = featureAbility.getContext();
75
context.getOrCreateLocalDir().then((data) => {
M
mingxihua 已提交
76
    console.info('getOrCreateLocalDir data: ${JSON.stringify(data)}');
X
xuchenghua09 已提交
77 78 79
});
```

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

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

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

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

Z
zengyawen 已提交
88
**参数:**
X
xuchenghua09 已提交
89

D
merge  
donglin 已提交
90
| 参数名         | 类型                                      | 必填   | 说明                   |
91 92
| ---------- | --------------------------------------- | ---- | -------------------- |
| permission | string                                  | 是    | 指定权限的名称。             |
C
chenyuyan 已提交
93
| options    | [PermissionOptions](#permissionoptions7) | 是    | 权限选项。                |
94
| callback   | AsyncCallback\<number>                  | 是    | 返回权限验证结果,0有权限,-1无权限。 |
X
xuchenghua09 已提交
95

Z
zengyawen 已提交
96
**示例:**
X
xuchenghua09 已提交
97

M
m00512953 已提交
98
```ts
D
dy_study 已提交
99
import featureAbility from '@ohos.ability.featureAbility';
C
chenyuyan 已提交
100
import bundle from '@ohos.bundle.bundleManager';
M
mingxihua 已提交
101
let context = featureAbility.getContext();
D
dy_study 已提交
102
bundle.getBundleInfo('com.context.test', 1, (err, datainfo) =>{
M
mingxihua 已提交
103 104 105 106 107 108
    context.verifyPermission('com.example.permission', {uid:datainfo.appInfo.uid}, (error, data) =>{
        if (error && error.code !== 0) {
            console.error('verifyPermission fail, error: ${JSON.stringify(error)}');
        } else {
            console.log('verifyPermission success, data: ${JSON.stringify(data)}');
        }
D
dy_study 已提交
109
    });
ahjxliubao2's avatar
ahjxliubao2 已提交
110
});
X
xuchenghua09 已提交
111
```
C
chenyuyan 已提交
112
示例代码中出现的getBundleInfo相关描述可参考对应[文档](js-apis-bundleManager.md)
X
xuchenghua09 已提交
113 114 115



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

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

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

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

Y
yuyaozhi 已提交
124
**参数:**
X
xuchenghua09 已提交
125

D
merge  
donglin 已提交
126
| 参数名         | 类型                     | 必填   | 说明                   |
127 128 129
| ---------- | ---------------------- | ---- | -------------------- |
| permission | string                 | 是    | 指定权限的名称。             |
| callback   | AsyncCallback\<number> | 是    | 返回权限验证结果,0有权限,-1无权限。 |
X
xuchenghua09 已提交
130

Z
zengyawen 已提交
131
**示例:**
X
xuchenghua09 已提交
132

M
m00512953 已提交
133
```ts
D
dy_study 已提交
134
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
135
let context = featureAbility.getContext();
M
mingxihua 已提交
136 137 138 139 140 141
context.verifyPermission('com.example.permission', (error, data) =>{
    if (error && error.code !== 0) {
        console.error('verifyPermission fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('verifyPermission success, data: ${JSON.stringify(data)}');
    }
D
dy_study 已提交
142
});
X
xuchenghua09 已提交
143 144
```

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

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

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

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

Z
zengyawen 已提交
153
**参数:**
X
xuchenghua09 已提交
154

D
merge  
donglin 已提交
155
| 参数名         | 类型                                      | 必填   | 说明       |
156 157 158
| ---------- | --------------------------------------- | ---- | -------- |
| permission | string                                  | 是    | 指定权限的名称。 |
| options    | [PermissionOptions](#permissionoptions) | 否    | 权限选项。    |
X
xuchenghua09 已提交
159

Z
zengyawen 已提交
160
**返回值:**
X
xuchenghua09 已提交
161

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

Z
zengyawen 已提交
166
**示例:**
X
xuchenghua09 已提交
167

M
m00512953 已提交
168
```ts
D
dy_study 已提交
169
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
170 171
let context = featureAbility.getContext();
let Permission = {pid:1};
172
context.verifyPermission('com.context.permission',Permission).then((data) => {
M
mingxihua 已提交
173
    console.info('verifyPermission data: ${JSON.stringify(data)}');
X
xuchenghua09 已提交
174 175 176 177 178
});
```



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

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

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

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

Z
zengyawen 已提交
187
**参数:**
X
xuchenghua09 已提交
188

D
merge  
donglin 已提交
189
| 参数名             | 类型                                       | 必填   | 说明                                  |
190 191 192 193
| -------------- | ---------------------------------------- | ---- | ----------------------------------- |
| permissions    | Array\<string>                           | 是    | 指示要请求的权限列表。此参数不能为null。              |
| requestCode    | number                                   | 是    | 指示要传递给PermissionRequestResult的请求代码。 |
| resultCallback | AsyncCallback<[PermissionRequestResult](#permissionrequestresult)> | 是    | 返回授权结果信息。                           |
Y
yuyaozhi 已提交
194

Z
zengyawen 已提交
195
**示例:**
X
xuchenghua09 已提交
196

M
m00512953 已提交
197
```ts
D
dy_study 已提交
198
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
199
let context = featureAbility.getContext();
200
context.requestPermissionsFromUser(
M
mingxihua 已提交
201 202 203 204 205
    ['com.example.permission1',
     'com.example.permission2',
     'com.example.permission3',
     'com.example.permission4',
     'com.example.permission5'],
D
dy_study 已提交
206
    1,
M
mingxihua 已提交
207 208 209 210 211 212
    (error, data) => {
        if (error && error.code !== 0) {
            console.error('requestPermissionsFromUser fail, error: ${JSON.stringify(error)}');
        } else {
            console.log('requestPermissionsFromUser success, data: ${JSON.stringify(data)}');
        }
213
    }
D
dy_study 已提交
214
);
X
xuchenghua09 已提交
215 216 217
```


218 219 220 221 222 223 224 225 226 227
## Context.requestPermissionsFromUser<sup>7+</sup>

requestPermissionsFromUser(permissions: Array\<string>, requestCode: number): Promise\<[PermissionRequestResult](#permissionrequestresult7)>

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

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

**参数:**

D
merge  
donglin 已提交
228
| 参数名           | 类型                 | 必填  | 说明                                          |
229 230 231 232 233 234 235 236 237 238 239 240
| -------------- | ------------------- | ----- | -------------------------------------------- |
| permissions    | Array\<string>      | 是    | 指示要请求的权限列表。此参数不能为null。         |
| requestCode    | number              | 是    | 指示要传递给PermissionRequestResult的请求代码。 |

**返回值:**

| 类型                                                           | 说明             |
| ------------------------------------------------------------- | ---------------- |
| Promise\<[PermissionRequestResult](#permissionrequestresult7)> | 返回授权结果信息。 |

**示例:**

M
m00512953 已提交
241
```ts
D
dy_study 已提交
242
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
243
let context = featureAbility.getContext();
244
context.requestPermissionsFromUser(
M
mingxihua 已提交
245 246 247 248 249
    ['com.example.permission1',
     'com.example.permission2',
     'com.example.permission3',
     'com.example.permission4',
     'com.example.permission5'],
250
    1).then((data)=>{
M
mingxihua 已提交
251
        console.info('requestPermissionsFromUser data: ${JSON.stringify(data)}');
D
dy_study 已提交
252 253
    }
);
254 255 256
```


X
xuchenghua09 已提交
257

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

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

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

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

Z
zengyawen 已提交
266
**参数:**
X
xuchenghua09 已提交
267

D
merge  
donglin 已提交
268
| 参数名       | 类型                              | 必填   | 说明           |
269
| -------- | ------------------------------- | ---- | ------------ |
C
chenyuyan 已提交
270
| callback | AsyncCallback\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)> | 是    | 返回当前应用程序的信息。 |
X
xuchenghua09 已提交
271

Z
zengyawen 已提交
272
**示例:**
X
xuchenghua09 已提交
273

M
m00512953 已提交
274
```ts
D
dy_study 已提交
275
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
276
let context = featureAbility.getContext();
M
mingxihua 已提交
277 278 279 280 281 282
context.getApplicationInfo((error, data) => {
    if (error && error.code !== 0) {
        console.error('getApplicationInfo fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getApplicationInfo success, data: ${JSON.stringify(data)}');
    }
D
dy_study 已提交
283
});
X
xuchenghua09 已提交
284 285 286 287
```



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

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

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

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

Z
zengyawen 已提交
296
**返回值:**
X
xuchenghua09 已提交
297

298 299
| 类型                        | 说明        |
| ------------------------- | --------- |
M
m00512953 已提交
300
| Promise\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | 当前应用程序的信息 |
X
xuchenghua09 已提交
301

Z
zengyawen 已提交
302
**示例:**
X
xuchenghua09 已提交
303

M
m00512953 已提交
304
```ts
D
dy_study 已提交
305
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
306
let context = featureAbility.getContext();
307
context.getApplicationInfo().then((data) => {
M
mingxihua 已提交
308
    console.info('getApplicationInfo data: ${JSON.stringify(data)}');
X
xuchenghua09 已提交
309 310 311 312 313
});
```



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

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

C
chenyuyan 已提交
318
获取当前ability的Bundle名称(callback形式)。
X
xuchenghua09 已提交
319

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

Z
zengyawen 已提交
322
**参数:**
X
xuchenghua09 已提交
323

D
merge  
donglin 已提交
324
| 参数名       | 类型                     | 必填   | 说明                 |
325
| -------- | ---------------------- | ---- | ------------------ |
C
chenyuyan 已提交
326
| callback | AsyncCallback\<string> | 是    | 返回当前ability的Bundle名称。 |
X
xuchenghua09 已提交
327

Z
zengyawen 已提交
328
**示例:**
X
xuchenghua09 已提交
329

M
m00512953 已提交
330
```ts
D
dy_study 已提交
331
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
332
let context = featureAbility.getContext();
M
mingxihua 已提交
333 334 335 336 337 338
context.getBundleName((error, data) => {
    if (error && error.code !== 0) {
        console.error('getBundleName fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getBundleName success, data: ${JSON.stringify(data)}');
    }
D
dy_study 已提交
339
});
X
xuchenghua09 已提交
340 341 342 343
```



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

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

C
chenyuyan 已提交
348
获取当前ability的Bundle名称(Promise形式)。
X
xuchenghua09 已提交
349

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

Z
zengyawen 已提交
352
**返回值:**
X
xuchenghua09 已提交
353

354 355
| 类型               | 说明               |
| ---------------- | ---------------- |
C
chenyuyan 已提交
356
| Promise\<string> | 当前ability的Bundle名称。 |
X
xuchenghua09 已提交
357

Z
zengyawen 已提交
358
**示例:**
X
xuchenghua09 已提交
359

M
m00512953 已提交
360
```ts
D
dy_study 已提交
361
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
362
let context = featureAbility.getContext();
363
context.getBundleName().then((data) => {
M
mingxihua 已提交
364
    console.info('getBundleName data: ${JSON.stringify(data)}');
X
xuchenghua09 已提交
365 366 367
});
```

368 369 370 371
## Context.getDisplayOrientation<sup>7+</sup>

getDisplayOrientation(callback: AsyncCallback\<bundle.DisplayOrientation>): void

C
chenyuyan 已提交
372
获取当前ability的显示方向(callback形式)。
373 374 375 376 377

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

**参数:**

D
merge  
donglin 已提交
378
| 参数名     | 类型                                                         | 必填 | 说明               |
R
RayShih 已提交
379
| -------- | ------------------------------------------------------------ | ---- | ------------------ |
C
chenyuyan 已提交
380
| callback | AsyncCallback\<[bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation)> | 是   | 表示屏幕显示方向。 |
381 382 383

**示例:**

M
m00512953 已提交
384
```ts
D
dy_study 已提交
385
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
386
let context = featureAbility.getContext();
M
mingxihua 已提交
387 388 389 390 391 392
context.getDisplayOrientation((error, data) => {
    if (error && error.code !== 0) {
        console.error('getDisplayOrientation fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getDisplayOrientation success, data: ${JSON.stringify(data)}');
    }
D
dy_study 已提交
393
});
394 395 396 397 398 399 400 401 402 403 404 405
```

## Context.getDisplayOrientation<sup>7+</sup>

getDisplayOrientation(): Promise\<bundle.DisplayOrientation>;

获取此能力的当前显示方向(Promise形式)。

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

**返回值:**

406 407
| 类型                                       | 说明        |
| ---------------------------------------- | --------- |
C
chenyuyan 已提交
408
| Promise\<[bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation)> | 表示屏幕显示方向。 |
409 410 411

**示例:**

M
m00512953 已提交
412
```ts
D
dy_study 已提交
413
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
414
let context = featureAbility.getContext();
415
context.getDisplayOrientation().then((data) => {
M
mingxihua 已提交
416
    console.info('getDisplayOrientation data: ${JSON.stringify(data)}');
417 418 419
});
```

Y
yuyaozhi 已提交
420 421 422 423 424 425 426 427 428 429
## Context.getExternalCacheDir

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

获取应用程序的外部缓存目录(callback形式)。

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

**参数:**

D
merge  
donglin 已提交
430
| 参数名       | 类型                     | 必填   | 说明                 |
Y
yuyaozhi 已提交
431 432 433 434 435
| -------- | ---------------------- | ---- | ------------------ |
| callback | AsyncCallback\<string> | 是    | 返回应用程序的缓存目录的绝对路径。 |

**示例:**

M
m00512953 已提交
436
```ts
D
dy_study 已提交
437
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
438
let context = featureAbility.getContext();
M
mingxihua 已提交
439 440 441 442 443 444
context.getExternalCacheDir((error, data) => {
    if (error && error.code !== 0) {
        console.error('getExternalCacheDir fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getExternalCacheDir success, data: ${JSON.stringify(data)}');
    }
D
dy_study 已提交
445
});
Y
yuyaozhi 已提交
446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463
```

## Context.getExternalCacheDir

getExternalCacheDir(): Promise\<string>;

获取应用程序的外部缓存目录(Promise形式)。

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

**返回值:**

| 类型               | 说明               |
| ---------------- | ---------------- |
| Promise\<string> | 返回应用程序的缓存目录的绝对路径。 |

**示例:**

M
m00512953 已提交
464
```ts
D
dy_study 已提交
465
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
466
let context = featureAbility.getContext();
Y
yuyaozhi 已提交
467
context.getExternalCacheDir().then((data) => {
M
mingxihua 已提交
468
    console.info('getExternalCacheDir data: ${JSON.stringify(data)}');
Y
yuyaozhi 已提交
469 470 471
});
```

472 473 474 475 476 477 478 479 480 481
## Context.setDisplayOrientation<sup>7+</sup>

setDisplayOrientation(orientation: bundle.DisplayOrientation, callback: AsyncCallback\<void>): void

设置当前能力的显示方向(callback形式)。

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

**参数:**

D
merge  
donglin 已提交
482
| 参数名          | 类型                                       | 必填   | 说明           |
483
| ----------- | ---------------------------------------- | ---- | ------------ |
C
chenyuyan 已提交
484
| orientation | [bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation) | 是    | 指示当前能力的新方向。 |
C
chenyuyan 已提交
485
| callback    | AsyncCallback\<void> | 是    | 表示屏幕显示方向。    |
486 487 488

**示例:**

M
m00512953 已提交
489
```ts
D
dy_study 已提交
490 491
import featureAbility from '@ohos.ability.featureAbility';
import bundle from '@ohos.bundle';
M
mingxihua 已提交
492 493
let context = featureAbility.getContext();
let orientation = bundle.DisplayOrientation.UNSPECIFIED;
M
mingxihua 已提交
494 495
context.setDisplayOrientation(orientation, (error) => {
    console.error('setDisplayOrientation fail, error: ${JSON.stringify(error)}');
496 497 498 499 500 501 502 503 504 505 506 507 508
});
```

## Context.setDisplayOrientation<sup>7+</sup>

setDisplayOrientation(orientation: bundle.DisplayOrientation): Promise\<void>;

设置当前能力的显示方向(Promise形式)。

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

**返回值:**

509 510
| 类型                                       | 说明                                       |
| ---------------------------------------- | ---------------------------------------- |
C
chenyuyan 已提交
511
| orientation                              | [bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation) |
C
chenyuyan 已提交
512
| Promise\<void> | 表示屏幕显示方向。                                |
513 514 515

**示例:**

M
m00512953 已提交
516
```ts
D
dy_study 已提交
517 518
import featureAbility from '@ohos.ability.featureAbility';
import bundle from '@ohos.bundle';
M
mingxihua 已提交
519 520
let context = featureAbility.getContext();
let orientation = bundle.DisplayOrientation.UNSPECIFIED;
521
context.setDisplayOrientation(orientation).then((data) => {
M
mingxihua 已提交
522
    console.info('setDisplayOrientation data: ${JSON.stringify(data)}');
523 524 525 526 527 528 529 530 531 532 533 534 535
});
```

## Context.setShowOnLockScreen<sup>7+</sup>

setShowOnLockScreen(show: boolean, callback: AsyncCallback\<void>): void

设置每当显示锁屏时是否在锁屏顶部显示此功能,使该功能保持激活状态(callback形式)。

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

**参数:**

D
merge  
donglin 已提交
536
| 参数名       | 类型                   | 必填   | 说明                                       |
537 538 539
| -------- | -------------------- | ---- | ---------------------------------------- |
| show     | boolean              | 是    | 指定是否在锁屏顶部显示此功能。值true表示在锁屏上显示,值false表示不显示。 |
| callback | AsyncCallback\<void> | 是    | 返回回调结果。                                  |
540 541 542

**示例:**

M
m00512953 已提交
543
```ts
D
dy_study 已提交
544
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
545 546
let context = featureAbility.getContext();
let show = true;
M
mingxihua 已提交
547 548
context.setShowOnLockScreen(show, (error) => {
    console.error('setShowOnLockScreen fail, error: ${JSON.stringify(error)}');
549 550 551 552 553 554 555 556 557 558 559 560 561
});
```

## Context.setShowOnLockScreen<sup>7+</sup>

setShowOnLockScreen(show: boolean): Promise\<void>;

设置每当显示锁屏时是否在锁屏顶部显示此功能,使该功能保持激活状态(Promise形式)。

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

**参数:**

D
merge  
donglin 已提交
562
| 参数名   | 类型      | 必填   | 说明                                       |
563 564
| ---- | ------- | ---- | ---------------------------------------- |
| show | boolean | 是    | 指定是否在锁屏顶部显示此功能。值true表示在锁屏上显示,值false表示不显示。 |
565 566 567

**返回值:**

568 569 570
| 类型             | 说明              |
| -------------- | --------------- |
| Promise\<void> | 使用Promise形式返回结果 |
571 572 573

**示例:**

M
m00512953 已提交
574
```ts
D
dy_study 已提交
575
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
576 577
let context = featureAbility.getContext();
let show = true;
578
context.setShowOnLockScreen(show).then((data) => {
M
mingxihua 已提交
579
    console.info('setShowOnLockScreen data: ${JSON.stringify(data)}');
580 581 582 583 584 585 586
});
```

## Context.setWakeUpScreen<sup>7+</sup>

setWakeUpScreen(wakeUp: boolean, callback: AsyncCallback\<void>): void

C
chenyuyan 已提交
587
设置恢复此功能时是否唤醒屏幕(callback形式)。
588 589 590 591 592

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

**参数:**

D
merge  
donglin 已提交
593
| 参数名       | 类型                   | 必填   | 说明                                |
594 595 596
| -------- | -------------------- | ---- | --------------------------------- |
| wakeUp   | boolean              | 是    | 指定是否唤醒屏幕。值true表示唤醒它,值false表示不唤醒它。 |
| callback | AsyncCallback\<void> | 是    | 返回回调结果。                           |
597 598 599

**示例:**

M
m00512953 已提交
600
```ts
D
dy_study 已提交
601
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
602 603
let context = featureAbility.getContext();
let wakeUp = true;
M
mingxihua 已提交
604 605
context.setWakeUpScreen(wakeUp, (error) => {
    console.error('setWakeUpScreen fail, error: ${JSON.stringify(error)}');
606 607 608 609 610 611 612
});
```

## Context.setWakeUpScreen<sup>7+</sup>

setWakeUpScreen(wakeUp: boolean): Promise\<void>; 

C
chenyuyan 已提交
613
设置恢复此功能时是否唤醒屏幕(Promise形式)。
614 615 616 617 618

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

**参数:**

D
merge  
donglin 已提交
619
| 参数名     | 类型      | 必填   | 说明                                |
620 621
| ------ | ------- | ---- | --------------------------------- |
| wakeUp | boolean | 是    | 指定是否唤醒屏幕。值true表示唤醒它,值false表示不唤醒它。 |
622 623 624

**返回值:**

625 626 627
| 类型             | 说明              |
| -------------- | --------------- |
| Promise\<void> | 使用Promise形式返回结果 |
628 629 630

**示例:**

M
m00512953 已提交
631
```ts
D
dy_study 已提交
632
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
633 634
let context = featureAbility.getContext();
let wakeUp = true;
635
context.setWakeUpScreen(wakeUp).then((data) => {
M
mingxihua 已提交
636
    console.info('setWakeUpScreen data: ${JSON.stringify(data)}');
637 638 639 640
});
```


X
xuchenghua09 已提交
641 642


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

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

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

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

Z
zengyawen 已提交
651
**参数:**
X
xuchenghua09 已提交
652

D
merge  
donglin 已提交
653
| 参数名       | 类型                          | 必填   | 说明         |
654
| -------- | --------------------------- | ---- | ---------- |
M
m00512953 已提交
655
| callback | AsyncCallback\<[ProcessInfo](js-apis-inner-app-processInfo.md)> | 是    | 返回当前进程的信息。 |
X
xuchenghua09 已提交
656

Z
zengyawen 已提交
657
**示例:**
X
xuchenghua09 已提交
658

M
m00512953 已提交
659
```ts
D
dy_study 已提交
660
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
661
let context = featureAbility.getContext();
M
mingxihua 已提交
662 663 664 665 666 667
context.getProcessInfo((error, data) => {
    if (error && error.code !== 0) {
        console.error('getProcessInfo fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getProcessInfo success, data: ${JSON.stringify(data)}');
    }
D
dy_study 已提交
668
});
X
xuchenghua09 已提交
669 670 671 672
```



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

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

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

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

Z
zengyawen 已提交
681
**返回值:**
X
xuchenghua09 已提交
682

683 684
| 类型                    | 说明      |
| --------------------- | ------- |
M
m00512953 已提交
685
| Promise\<[ProcessInfo](js-apis-inner-app-processInfo.md)> | 当前进程的信息 |
X
xuchenghua09 已提交
686

Z
zengyawen 已提交
687
**示例:**
X
xuchenghua09 已提交
688

M
m00512953 已提交
689
```ts
D
dy_study 已提交
690
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
691
let context = featureAbility.getContext();
692
context.getProcessInfo().then((data) => {
M
mingxihua 已提交
693
    console.info('getProcessInfo data: ${JSON.stringify(data)}');
X
xuchenghua09 已提交
694 695 696 697 698
});
```



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

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

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

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

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

Z
zengyawen 已提交
709
**参数:**
X
xuchenghua09 已提交
710

D
merge  
donglin 已提交
711
| 参数名       | 类型                          | 必填   | 说明                                     |
712
| -------- | --------------------------- | ---- | -------------------------------------- |
C
chenyuyan 已提交
713
| callback | AsyncCallback\<[ElementName](js-apis-bundleManager-elementName.md)> | 是    | 返回当前ability的ohos.bundle.ElementName对象。 |
X
xuchenghua09 已提交
714

Z
zengyawen 已提交
715
**示例:**
X
xuchenghua09 已提交
716

M
m00512953 已提交
717
```ts
D
dy_study 已提交
718
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
719
let context = featureAbility.getContext();
M
mingxihua 已提交
720 721 722 723 724 725
context.getElementName((error, data) => {
    if (error && error.code !== 0) {
        console.error('getElementName fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getElementName success, data: ${JSON.stringify(data)}');
    }
D
dy_study 已提交
726
});
X
xuchenghua09 已提交
727 728 729 730
```



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

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

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

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

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

Z
zengyawen 已提交
741
**返回值:**
X
xuchenghua09 已提交
742

743 744
| 类型                    | 说明                                   |
| --------------------- | ------------------------------------ |
C
chenyuyan 已提交
745
| Promise\<[ElementName](js-apis-bundleManager-elementName.md)> | 当前ability的ohos.bundle.ElementName对象。 |
X
xuchenghua09 已提交
746

Z
zengyawen 已提交
747
**示例:**
X
xuchenghua09 已提交
748

M
m00512953 已提交
749
```ts
D
dy_study 已提交
750
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
751
let context = featureAbility.getContext();
752
context.getElementName().then((data) => {
M
mingxihua 已提交
753
    console.info('getElementName data: ${JSON.stringify(data)}');
X
xuchenghua09 已提交
754 755 756
});
```

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

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

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

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

Y
yuyaozhi 已提交
765
**参数:**
ahjxliubao2's avatar
ahjxliubao2 已提交
766

D
merge  
donglin 已提交
767
| 参数名       | 类型                     | 必填   | 说明         |
768 769
| -------- | ---------------------- | ---- | ---------- |
| callback | AsyncCallback\<string> | 是    | 返回当前进程的名称。 |
X
xuchenghua09 已提交
770

Z
zengyawen 已提交
771
**示例:**
X
xuchenghua09 已提交
772

M
m00512953 已提交
773
```ts
D
dy_study 已提交
774
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
775
let context = featureAbility.getContext();
M
mingxihua 已提交
776 777 778 779 780 781
context.getProcessName((error, data) => {
    if (error && error.code !== 0) {
        console.error('getProcessName fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getProcessName success, data: ${JSON.stringify(data)}');
    }
D
dy_study 已提交
782
});
X
xuchenghua09 已提交
783 784 785 786
```



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

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

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

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

Z
zengyawen 已提交
795
**返回值:**
X
xuchenghua09 已提交
796

797 798
| 类型               | 说明         |
| ---------------- | ---------- |
Z
zengyawen 已提交
799
| Promise\<string> | 返回当前进程的名称。 |
X
xuchenghua09 已提交
800

Z
zengyawen 已提交
801
**示例:**
X
xuchenghua09 已提交
802

M
m00512953 已提交
803
```ts
D
dy_study 已提交
804
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
805
let context = featureAbility.getContext();
806
context.getProcessName().then((data) => {
M
mingxihua 已提交
807
    console.info('getProcessName data: ${JSON.stringify(data)}');
X
xuchenghua09 已提交
808 809 810 811 812
});
```



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

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

C
chenyuyan 已提交
817
获取ability调用方的Bundle名称(callback形式)。
X
xuchenghua09 已提交
818

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

Z
zengyawen 已提交
821
**参数:**
X
xuchenghua09 已提交
822

D
merge  
donglin 已提交
823
| 参数名       | 类型                     | 必填   | 说明               |
824
| -------- | ---------------------- | ---- | ---------------- |
C
chenyuyan 已提交
825
| callback | AsyncCallback\<string> | 是    | 返回ability调用方的Bundle名称。 |
X
xuchenghua09 已提交
826

Z
zengyawen 已提交
827
**示例:**
X
xuchenghua09 已提交
828

M
m00512953 已提交
829
```ts
D
dy_study 已提交
830
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
831
let context = featureAbility.getContext();
M
mingxihua 已提交
832 833 834 835 836 837
context.getCallingBundle((error, data) => {
    if (error && error.code !== 0) {
        console.error('getCallingBundle fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getCallingBundle success, data: ${JSON.stringify(data)}');
    }
D
dy_study 已提交
838
});
X
xuchenghua09 已提交
839 840 841 842
```



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

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

C
chenyuyan 已提交
847
获取ability调用方的Bundle名称(Promise形式)。
X
xuchenghua09 已提交
848

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

Z
zengyawen 已提交
851
**返回值:**
X
xuchenghua09 已提交
852

853 854
| 类型               | 说明             |
| ---------------- | -------------- |
C
chenyuyan 已提交
855
| Promise\<string> | 返回ability调用方的Bundle名称。 |
X
xuchenghua09 已提交
856

Z
zengyawen 已提交
857
**示例:**
X
xuchenghua09 已提交
858

M
m00512953 已提交
859
```ts
D
dy_study 已提交
860
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
861
let context = featureAbility.getContext();
862
context.getCallingBundle().then((data) => {
M
mingxihua 已提交
863
    console.info('getCallingBundle data: ${JSON.stringify(data)}');
X
xuchenghua09 已提交
864 865 866
});
```

X
xuzhihao 已提交
867
## Context.getCacheDir
D
dy 已提交
868 869 870 871 872 873 874 875 876

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

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

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

**参数:**

D
merge  
donglin 已提交
877
| 参数名       | 类型                     | 必填   | 说明              |
878 879
| -------- | ---------------------- | ---- | --------------- |
| callback | AsyncCallback\<string> | 是    | 返回该应用程序的内部存储目录。 |
D
dy 已提交
880 881 882

**示例:**

M
m00512953 已提交
883
```ts
D
dy_study 已提交
884
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
885
let context = featureAbility.getContext();
M
mingxihua 已提交
886 887 888 889 890 891
context.getCacheDir((error, data) => {
    if (error && error.code !== 0) {
        console.error('getCacheDir fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getCacheDir success, data: ${JSON.stringify(data)}');
    }
D
dy 已提交
892 893 894
});
```

X
xuzhihao 已提交
895
## Context.getCacheDir
D
dy 已提交
896 897 898 899 900 901 902 903 904

getCacheDir(): Promise\<string>

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

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

**返回值:**

905 906
| 类型               | 说明              |
| ---------------- | --------------- |
C
chenyuyan 已提交
907
| Promise\<string> | 返回该应用程序的内部存储目录。 |
D
dy 已提交
908 909 910

**示例:**

M
m00512953 已提交
911
```ts
D
dy_study 已提交
912
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
913
let context = featureAbility.getContext();
D
dy 已提交
914
context.getCacheDir().then((data) => {
M
mingxihua 已提交
915
    console.info('getCacheDir data: ${JSON.stringify(data)}');
D
dy 已提交
916 917 918
});
```

X
xuzhihao 已提交
919
## Context.getFilesDir
D
dy 已提交
920 921 922 923 924 925 926 927 928

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

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

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

**参数:**

D
merge  
donglin 已提交
929
| 参数名       | 类型                     | 必填   | 说明                  |
930 931
| -------- | ---------------------- | ---- | ------------------- |
| callback | AsyncCallback\<string> | 是    | 返回内部存储器上此应用程序的文件目录。 |
D
dy 已提交
932 933 934

**示例:**

M
m00512953 已提交
935
```ts
D
dy_study 已提交
936
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
937
let context = featureAbility.getContext();
M
mingxihua 已提交
938 939 940 941 942 943
context.getFilesDir((error, data) => {
    if (error && error.code !== 0) {
        console.error('getFilesDir fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getFilesDir success, data: ${JSON.stringify(data)}');
    }
D
dy 已提交
944 945 946
});
```

X
xuzhihao 已提交
947
## Context.getFilesDir
D
dy 已提交
948 949 950 951 952 953 954 955 956

getFilesDir(): Promise\<string>

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

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

**返回值:**

957 958
| 类型               | 说明                  |
| ---------------- | ------------------- |
D
dy 已提交
959 960 961 962
| Promise\<string> | 返回内部存储器上此应用程序的文件目录。 |

**示例:**

M
m00512953 已提交
963
```ts
D
dy_study 已提交
964
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
965
let context = featureAbility.getContext();
D
dy 已提交
966
context.getFilesDir().then((data) => {
M
mingxihua 已提交
967
    console.info('getFilesDir data: ${JSON.stringify(data)}');
D
dy 已提交
968 969 970
});
```

X
xuzhihao 已提交
971
## Context.getOrCreateDistributedDir<sup>7+</sup>
D
dy 已提交
972 973 974 975 976 977 978 979 980 981 982

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

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

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

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

**参数:**

D
merge  
donglin 已提交
983
| 参数名       | 类型                     | 必填   | 说明                                       |
984
| -------- | ---------------------- | ---- | ---------------------------------------- |
C
chenyuyan 已提交
985
| callback | AsyncCallback\<string> | 是    | 返回Ability或应用的分布式文件路径。<br>若路径不存在,系统将创建一个路径并返回创建的路径。 |
D
dy 已提交
986 987 988

**示例:**

M
m00512953 已提交
989
```ts
D
dy_study 已提交
990
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
991
let context = featureAbility.getContext();
M
mingxihua 已提交
992 993 994 995 996 997
context.getOrCreateDistributedDir((error, data) => {
    if (error && error.code !== 0) {
        console.error('getOrCreateDistributedDir fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getOrCreateDistributedDir success, data: ${JSON.stringify(data)}');
    }
D
dy 已提交
998 999 1000
});
```

X
xuzhihao 已提交
1001
## Context.getOrCreateDistributedDir<sup>7+</sup>
D
dy 已提交
1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012

getOrCreateDistributedDir(): Promise\<string>

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

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

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

**返回值:**

1013 1014
| 类型               | 说明                                  |
| ---------------- | ----------------------------------- |
C
chenyuyan 已提交
1015
| Promise\<string> | 返回Ability或应用的分布式文件路径。若为首次调用,则将创建目录。 |
D
dy 已提交
1016 1017 1018

**示例:**

M
m00512953 已提交
1019
```ts
D
dy_study 已提交
1020
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1021
let context = featureAbility.getContext();
D
dy 已提交
1022
context.getOrCreateDistributedDir().then((data) => {
M
mingxihua 已提交
1023
    console.info('getOrCreateDistributedDir data: ${JSON.stringify(data)}');
D
dy 已提交
1024 1025 1026
});
```

X
xuzhihao 已提交
1027
## Context.getAppType<sup>7+</sup>
D
dy 已提交
1028 1029 1030 1031 1032 1033 1034 1035 1036

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

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

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

**参数:**

D
merge  
donglin 已提交
1037
| 参数名       | 类型                     | 必填   | 说明                               |
1038
| -------- | ---------------------- | ---- | -------------------------------- |
C
chenyuyan 已提交
1039
| callback | AsyncCallback\<string> | 是    | 返回此应用程序的类型。 |
D
dy 已提交
1040 1041 1042

**示例:**

M
m00512953 已提交
1043
```ts
D
dy_study 已提交
1044
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1045
let context = featureAbility.getContext();
M
mingxihua 已提交
1046 1047 1048 1049 1050 1051
context.getAppType((error, data) => {
    if (error && error.code !== 0) {
        console.error('getAppType fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getAppType success, data: ${JSON.stringify(data)}');
    }
D
dy 已提交
1052 1053 1054
});
```

X
xuzhihao 已提交
1055
## Context.getAppType<sup>7+</sup>
D
dy 已提交
1056 1057 1058 1059 1060 1061 1062 1063 1064

getAppType(): Promise\<string>

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

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

**返回值:**

1065 1066
| 类型               | 说明                 |
| ---------------- | ------------------ |
C
chenyuyan 已提交
1067
| Promise\<string> | 返回此应用的类型。 |
D
dy 已提交
1068 1069 1070

**示例:**

M
m00512953 已提交
1071
```ts
D
dy_study 已提交
1072
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1073
let context = featureAbility.getContext();
D
dy 已提交
1074
context.getAppType().then((data) => {
M
mingxihua 已提交
1075
    console.info('getAppType data: ${JSON.stringify(data)}');
D
dy 已提交
1076 1077 1078
});
```

X
xuzhihao 已提交
1079
## Context.getHapModuleInfo<sup>7+</sup>
D
dy 已提交
1080 1081 1082 1083 1084 1085 1086 1087 1088

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

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

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

**参数:**

D
merge  
donglin 已提交
1089
| 参数名       | 类型                                       | 必填   | 说明                                      |
1090
| -------- | ---------------------------------------- | ---- | --------------------------------------- |
C
chenyuyan 已提交
1091
| callback | AsyncCallback\<[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)> | 是    | 返回应用的ModuleInfo对象。 |
D
dy 已提交
1092 1093 1094

**示例:**

M
m00512953 已提交
1095
```ts
D
dy_study 已提交
1096
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1097
let context = featureAbility.getContext();
M
mingxihua 已提交
1098 1099 1100 1101 1102 1103
context.getHapModuleInfo((error, data) => {
    if (error && error.code !== 0) {
        console.error('getHapModuleInfo fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getHapModuleInfo success, data: ${JSON.stringify(data)}');
    }
D
dy 已提交
1104 1105 1106
});
```

X
xuzhihao 已提交
1107
## Context.getHapModuleInfo<sup>7+</sup>
D
dy 已提交
1108 1109 1110 1111 1112 1113 1114 1115 1116

getHapModuleInfo(): Promise\<HapModuleInfo>

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

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

**返回值:**

1117 1118
| 类型                                       | 说明                 |
| ---------------------------------------- | ------------------ |
C
chenyuyan 已提交
1119
| Promise\<[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)> | 返回应用的ModuleInfo对象。 |
D
dy 已提交
1120 1121 1122

**示例:**

M
m00512953 已提交
1123
```ts
D
dy_study 已提交
1124
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1125
let context = featureAbility.getContext();
D
dy 已提交
1126
context.getHapModuleInfo().then((data) => {
M
mingxihua 已提交
1127
    console.info('getHapModuleInfo data: ${JSON.stringify(data)}');
D
dy 已提交
1128 1129 1130
});
```

X
xuzhihao 已提交
1131
## Context.getAppVersionInfo<sup>7+</sup>
D
dy 已提交
1132

1133
getAppVersionInfo(callback: AsyncCallback\<AppVersionInfo>): void
D
dy 已提交
1134 1135 1136 1137 1138 1139 1140

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

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

**参数:**

D
merge  
donglin 已提交
1141
| 参数名       | 类型                                       | 必填   | 说明                             |
1142
| -------- | ---------------------------------------- | ---- | ------------------------------ |
C
chenyuyan 已提交
1143
| callback | AsyncCallback\<[AppVersionInfo](js-apis-inner-app-appVersionInfo.md)> | 是    | 返回应用版本信息。 |
D
dy 已提交
1144 1145 1146

**示例:**

M
m00512953 已提交
1147
```ts
D
dy_study 已提交
1148
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1149
let context = featureAbility.getContext();
M
mingxihua 已提交
1150 1151 1152 1153 1154 1155
context.getAppVersionInfo((error, data) => {
    if (error && error.code !== 0) {
        console.error('getAppVersionInfo fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getAppVersionInfo success, data: ${JSON.stringify(data)}');
    }
D
dy 已提交
1156 1157 1158
});
```

X
xuzhihao 已提交
1159
## Context.getAppVersionInfo<sup>7+</sup>
D
dy 已提交
1160 1161 1162 1163 1164 1165 1166 1167 1168

getAppVersionInfo(): Promise\<AppVersionInfo>

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

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

**返回值:**

1169 1170
| 类型                                       | 说明        |
| ---------------------------------------- | --------- |
M
m00512953 已提交
1171
| Promise\<[AppVersionInfo](js-apis-inner-app-appVersionInfo.md)> | 返回应用版本信息。 |
D
dy 已提交
1172 1173 1174

**示例:**

M
m00512953 已提交
1175
```ts
D
dy_study 已提交
1176
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1177
let context = featureAbility.getContext();
D
dy 已提交
1178
context.getAppVersionInfo().then((data) => {
M
mingxihua 已提交
1179
    console.info('getAppVersionInfo data: ${JSON.stringify(data)}');
D
dy 已提交
1180 1181 1182
});
```

X
xuzhihao 已提交
1183
## Context.getAbilityInfo<sup>7+</sup>
D
dy 已提交
1184 1185 1186 1187 1188 1189 1190 1191 1192

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

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

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

**参数:**

D
merge  
donglin 已提交
1193
| 参数名       | 类型                                       | 必填   | 说明                                      |
1194
| -------- | ---------------------------------------- | ---- | --------------------------------------- |
C
chenyuyan 已提交
1195
| callback | AsyncCallback\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)> | 是    | 返回当前归属Ability详细信息。 |
D
dy 已提交
1196 1197 1198

**示例:**

M
m00512953 已提交
1199
```ts
D
dy_study 已提交
1200
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1201
let context = featureAbility.getContext();
M
mingxihua 已提交
1202 1203 1204 1205 1206 1207
context.getAbilityInfo((error, data) => {
    if (error && error.code !== 0) {
        console.error('getAbilityInfo fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('getAbilityInfo success, data: ${JSON.stringify(data)}');
    }
D
dy 已提交
1208 1209 1210
});
```

X
xuzhihao 已提交
1211
## Context.getAbilityInfo<sup>7+</sup>
D
dy 已提交
1212 1213 1214 1215 1216 1217 1218 1219 1220

getAbilityInfo(): Promise\<AbilityInfo>

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

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

**返回值:**

1221 1222
| 类型                                       | 说明                 |
| ---------------------------------------- | ------------------ |
C
chenyuyan 已提交
1223
| Promise\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)> | 返回当前归属Ability详细信息。 |
D
dy 已提交
1224 1225 1226

**示例:**

M
m00512953 已提交
1227
```ts
D
dy_study 已提交
1228
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1229
let context = featureAbility.getContext();
D
dy 已提交
1230
context.getAbilityInfo().then((data) => {
M
mingxihua 已提交
1231
    console.info('getAbilityInfo data: ${JSON.stringify(data)}');
D
dy 已提交
1232 1233 1234
});
```

X
xuzhihao 已提交
1235
## Context.getApplicationContext<sup>7+</sup>
D
dy 已提交
1236 1237 1238 1239 1240 1241 1242 1243 1244

getApplicationContext(): Context

获取应用上下文信息。

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

**返回值:**

1245 1246 1247
| 类型      | 说明         |
| ------- | ---------- |
| Context | 返回应用上下文信息。 |
D
dy 已提交
1248 1249 1250

**示例:**

M
m00512953 已提交
1251
```ts
D
dy_study 已提交
1252
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1253
let context = featureAbility.getContext().getApplicationContext();
D
dy 已提交
1254 1255
```

1256 1257 1258 1259 1260 1261 1262 1263 1264 1265
## Context.isUpdatingConfigurations<sup>7+</sup>

isUpdatingConfigurations(callback: AsyncCallback\<boolean>): void;

检查此能力的配置是否正在更改(callback形式)。

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

**参数:**

D
merge  
donglin 已提交
1266
| 参数名       | 类型                      | 必填   | 说明                            |
1267 1268
| -------- | ----------------------- | ---- | ----------------------------- |
| callback | AsyncCallback\<boolean> | 是    | 如果该能力的配置正在更改,则为true,否则为false。 |
1269 1270 1271

**示例:**

M
m00512953 已提交
1272
```ts
D
dy_study 已提交
1273
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1274
let context = featureAbility.getContext();
M
mingxihua 已提交
1275 1276 1277 1278 1279 1280
context.isUpdatingConfigurations((error, data) => {
    if (error && error.code !== 0) {
        console.error('isUpdatingConfigurations fail, error: ${JSON.stringify(error)}');
    } else {
        console.log('isUpdatingConfigurations success, data: ${JSON.stringify(data)}');
    }
1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293
});
```

## Context.isUpdatingConfigurations<sup>7+</sup>

isUpdatingConfigurations(): Promise\<boolean>;

检查此能力的配置是否正在更改(Promise形式)。

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

**返回值:**

1294 1295 1296
| 类型                | 说明                            |
| ----------------- | ----------------------------- |
| Promise\<boolean> | 如果该能力的配置正在更改,则为true,否则为false。 |
1297 1298 1299

**示例:**

M
m00512953 已提交
1300
```ts
D
dy_study 已提交
1301
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1302
let context = featureAbility.getContext();
1303
context.isUpdatingConfigurations().then((data) => {
M
mingxihua 已提交
1304
    console.info('isUpdatingConfigurations data: ${JSON.stringify(data)}');
1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317
});
```

## Context.printDrawnCompleted<sup>7+</sup>

printDrawnCompleted(callback: AsyncCallback\<void>): void;

通知系统绘制此页面功能所需的时间(callback形式)。

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

**参数:**

D
merge  
donglin 已提交
1318
| 参数名       | 类型                   | 必填   | 说明          |
1319 1320
| -------- | -------------------- | ---- | ----------- |
| callback | AsyncCallback\<void> | 是    | 表示被指定的回调方法。 |
1321 1322 1323

**示例:**

M
m00512953 已提交
1324
```ts
D
dy_study 已提交
1325
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1326
let context = featureAbility.getContext();
C
chenyuyan 已提交
1327
context.printDrawnCompleted((err) => {
M
mingxihua 已提交
1328
    console.error('printDrawnCompleted err: ${JSON.stringify(err)}');
1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341
});
```

## Context.printDrawnCompleted<sup>7+</sup>

printDrawnCompleted(): Promise\<void>;

通知系统绘制此页面功能所需的时间(Promise形式)。

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

**返回值:**

1342 1343 1344
| 类型             | 说明              |
| -------------- | --------------- |
| Promise\<void> | 以Promise形式返回结果。 |
1345 1346 1347

**示例:**

M
m00512953 已提交
1348
```ts
D
dy_study 已提交
1349
import featureAbility from '@ohos.ability.featureAbility';
M
mingxihua 已提交
1350
let context = featureAbility.getContext();
1351
context.printDrawnCompleted().then((data) => {
M
mingxihua 已提交
1352
    console.info('printDrawnCompleted data: ${JSON.stringify(data)}');
1353 1354 1355 1356
});
```


X
xuzhihao 已提交
1357
## PermissionOptions<sup>7+</sup>
Z
zengyawen 已提交
1358

1359
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
1360

D
merge  
donglin 已提交
1361
| 名称   | 读写属性 | 类型     | 必填   | 说明    |
M
m00512953 已提交
1362 1363 1364
| ---- | ---- | ------ | ---- | ----- |
| pid  | 只读   | number | 否    | 进程id。 |
| uid  | 只读   | number | 否    | 用户id。 |
Z
zengyawen 已提交
1365

X
xuzhihao 已提交
1366
## PermissionRequestResult<sup>7+</sup>
Z
zengyawen 已提交
1367

1368
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
ahjxliubao2's avatar
ahjxliubao2 已提交
1369

D
merge  
donglin 已提交
1370
| 名称          | 读写属性 | 类型             | 必填   | 说明         |
M
m00512953 已提交
1371 1372 1373
| ----------- | ---- | -------------- | ---- | ---------- |
| requestCode | 只读   | number         | 是    | 用户传入的请求代码。 |
| permissions | 只读   | Array\<string> | 是    | 用户传入的权限。   |
M
mingxihua 已提交
1374
| authResults | 只读   | Array\<number> | 是    | 请求权限的结果。   |