• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Context
2
3Context模块提供了ability或application的上下文的能力,包括允许访问特定于应用程序的资源、请求和验证权限等。
4
5> **说明:**
6>
7> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块接口**仅可在FA模型**下使用。
9
10## 导入模块
11
12```ts
13import featureAbility from '@ohos.ability.featureAbility';
14```
15
16## 使用说明
17
18Context对象是在featureAbility中创建实例,并通过featureAbility的[getContext](js-apis-ability-featureAbility.md#featureabilitygetcontext)接口返回,因此在使用Context时,必须导入@ohos.ability.featureAbility库。示例如下:
19
20```ts
21import featureAbility from '@ohos.ability.featureAbility';
22
23let context: featureAbility.Context = featureAbility.getContext();
24context.getOrCreateLocalDir().then((data) => {
25    console.info(`getOrCreateLocalDir data: ${JSON.stringify(data)}`);
26});
27```
28
29## Context.getOrCreateLocalDir<sup>7+</sup>
30
31getOrCreateLocalDir(callback: AsyncCallback\<string>): void
32
33获取应用程序的本地根目录(callback形式)。
34
35如果是第一次调用,将创建目录。
36
37**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
38
39**参数:**
40
41| 参数名       | 类型                     | 必填   | 说明            |
42| -------- | ---------------------- | ---- | ------------- |
43| callback | AsyncCallback\<string> | 是    | 返回应用程序的本地根目录。 |
44
45**示例:**
46
47```ts
48import featureAbility from '@ohos.ability.featureAbility';
49
50let context: featureAbility.Context = featureAbility.getContext();
51context.getOrCreateLocalDir((error, data)=>{
52    if (error && error.code !== 0) {
53        console.error(`getOrCreateLocalDir fail, error: ${JSON.stringify(error)}`);
54    } else {
55        console.log(`getOrCreateLocalDir success, data: ${JSON.stringify(data)}`);
56    }
57});
58```
59
60
61
62## Context.getOrCreateLocalDir<sup>7+</sup>
63
64getOrCreateLocalDir(): Promise\<string>
65
66获取应用程序的本地根目录(Promise形式)。
67
68如果是第一次调用,将创建目录。
69
70**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
71
72**返回值:**
73
74| 类型               | 说明          |
75| ---------------- | ----------- |
76| Promise\<string> | 应用程序的本地根目录。 |
77
78**示例:**
79
80```ts
81import featureAbility from '@ohos.ability.featureAbility';
82
83let context: featureAbility.Context = featureAbility.getContext();
84context.getOrCreateLocalDir().then((data) => {
85    console.info(`getOrCreateLocalDir data: ${JSON.stringify(data)}`);
86});
87```
88
89## Context.verifyPermission<sup>7+</sup>
90
91verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\<number>): void
92
93验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)。
94
95**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
96
97**参数:**
98
99| 参数名         | 类型                                      | 必填   | 说明                   |
100| ---------- | --------------------------------------- | ---- | -------------------- |
101| permission | string                                  | 是    | 指定权限的名称。             |
102| options    | [PermissionOptions](../apis/#permissionoptions7) | 是    | 权限选项。                |
103| callback   | AsyncCallback\<number>                  | 是    | 返回权限验证结果,0有权限,-1无权限。 |
104
105**示例:**
106
107```ts
108import featureAbility from '@ohos.ability.featureAbility';
109import bundle from '@ohos.bundle.bundleManager';
110import { BusinessError } from '@ohos.base';
111
112let context: featureAbility.Context = featureAbility.getContext();
113bundle.getBundleInfo('com.context.test', 1, (err: BusinessError, datainfo: bundle.BundleInfo) =>{
114    context.verifyPermission('com.example.permission', {uid:datainfo.appInfo.uid}, (error, data) =>{
115        if (error && error.code !== 0) {
116            console.error(`verifyPermission fail, error: ${JSON.stringify(error)}`);
117        } else {
118            console.log(`verifyPermission success, data: ${JSON.stringify(data)}`);
119        }
120    });
121});
122```
123示例代码中出现的getBundleInfo相关描述可参考对应[文档](js-apis-bundleManager.md)。
124
125
126
127## Context.verifyPermission<sup>7+</sup>
128
129verifyPermission(permission: string, callback: AsyncCallback\<number>): void
130
131验证系统中运行的当前pid和uid是否具有指定的权限(callback形式)。
132
133**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
134
135**参数:**
136
137| 参数名         | 类型                     | 必填   | 说明                   |
138| ---------- | ---------------------- | ---- | -------------------- |
139| permission | string                 | 是    | 指定权限的名称。             |
140| callback   | AsyncCallback\<number> | 是    | 返回权限验证结果,0有权限,-1无权限。 |
141
142**示例:**
143
144```ts
145import featureAbility from '@ohos.ability.featureAbility';
146
147let context: featureAbility.Context = featureAbility.getContext();
148context.verifyPermission('com.example.permission', (error, data) =>{
149    if (error && error.code !== 0) {
150        console.error(`verifyPermission fail, error: ${JSON.stringify(error)}`);
151    } else {
152        console.log(`verifyPermission success, data: ${JSON.stringify(data)}`);
153    }
154});
155```
156
157## Context.verifyPermission<sup>7+</sup>
158
159verifyPermission(permission: string, options?: PermissionOptions): Promise\<number>
160
161验证系统中运行的特定pid和uid是否具有指定的权限(Promise形式)。
162
163**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
164
165**参数:**
166
167| 参数名         | 类型                                      | 必填   | 说明       |
168| ---------- | --------------------------------------- | ---- | -------- |
169| permission | string                                  | 是    | 指定权限的名称。 |
170| options    | [PermissionOptions](../apis/#permissionoptions7) | 否    | 权限选项。    |
171
172**返回值:**
173
174| 类型               | 说明                                 |
175| ---------------- | ---------------------------------- |
176| Promise\<number> | 如果pid和uid具有权限,则使用0进行异步回调;否则使用-1回调。 |
177
178**示例:**
179
180```ts
181import featureAbility from '@ohos.ability.featureAbility';
182
183let context: featureAbility.Context = featureAbility.getContext();
184context.verifyPermission('com.context.permission', {pid:1}).then((data) => {
185    console.info(`verifyPermission data: ${JSON.stringify(data)}`);
186});
187```
188
189
190
191## Context.requestPermissionsFromUser<sup>7+</sup>
192
193requestPermissionsFromUser(permissions: Array\<string>, requestCode: number, resultCallback: AsyncCallback<[PermissionRequestResult](../apis/#permissionrequestresult7)>): void
194
195从系统请求某些权限(callback形式)。
196
197**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
198
199**参数:**
200
201| 参数名             | 类型                                       | 必填   | 说明                                  |
202| -------------- | ---------------------------------------- | ---- | ----------------------------------- |
203| permissions    | Array\<string>                           | 是    | 指示要请求的权限列表。此参数不能为null。              |
204| requestCode    | number                                   | 是    | 指示要传递给PermissionRequestResult的请求代码。 |
205| resultCallback | AsyncCallback<[PermissionRequestResult](../apis/#permissionrequestresult7)> | 是    | 返回授权结果信息。                           |
206
207**示例:**
208
209```ts
210import featureAbility from '@ohos.ability.featureAbility';
211
212let context: featureAbility.Context = featureAbility.getContext();
213context.requestPermissionsFromUser(
214    ['com.example.permission1',
215     'com.example.permission2',
216     'com.example.permission3',
217     'com.example.permission4',
218     'com.example.permission5'],
219    1,
220    (error, data) => {
221        if (error && error.code !== 0) {
222            console.error(`requestPermissionsFromUser fail, error: ${JSON.stringify(error)}`);
223        } else {
224            console.log(`requestPermissionsFromUser success, data: ${JSON.stringify(data)}`);
225        }
226    }
227);
228```
229
230
231## Context.requestPermissionsFromUser<sup>7+</sup>
232
233requestPermissionsFromUser(permissions: Array\<string>, requestCode: number): Promise\<[PermissionRequestResult](../apis/#permissionrequestresult7)>
234
235从系统请求某些权限(promise形式)。
236
237**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
238
239**参数:**
240
241| 参数名           | 类型                 | 必填  | 说明                                          |
242| -------------- | ------------------- | ----- | -------------------------------------------- |
243| permissions    | Array\<string>      | 是    | 指示要请求的权限列表。此参数不能为null。         |
244| requestCode    | number              | 是    | 指示要传递给PermissionRequestResult的请求代码。 |
245
246**返回值:**
247
248| 类型                                                           | 说明             |
249| ------------------------------------------------------------- | ---------------- |
250| Promise\<[PermissionRequestResult](../apis/#permissionrequestresult7)> | 返回授权结果信息。 |
251
252**示例:**
253
254```ts
255import featureAbility from '@ohos.ability.featureAbility';
256
257let context: featureAbility.Context = featureAbility.getContext();
258context.requestPermissionsFromUser(
259    ['com.example.permission1',
260     'com.example.permission2',
261     'com.example.permission3',
262     'com.example.permission4',
263     'com.example.permission5'],
264    1).then((data)=>{
265        console.info(`requestPermissionsFromUser data: ${JSON.stringify(data)}`);
266    }
267);
268```
269
270
271
272## Context.getApplicationInfo<sup>7+</sup>
273
274getApplicationInfo(callback: AsyncCallback\<ApplicationInfo>): void
275
276获取有关当前应用程序的信息(callback形式)。
277
278**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
279
280**参数:**
281
282| 参数名       | 类型                              | 必填   | 说明           |
283| -------- | ------------------------------- | ---- | ------------ |
284| callback | AsyncCallback\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)> | 是    | 返回当前应用程序的信息。 |
285
286**示例:**
287
288```ts
289import featureAbility from '@ohos.ability.featureAbility';
290
291let context: featureAbility.Context = featureAbility.getContext();
292context.getApplicationInfo((error, data) => {
293    if (error && error.code !== 0) {
294        console.error(`getApplicationInfo fail, error: ${JSON.stringify(error)}`);
295    } else {
296        console.log(`getApplicationInfo success, data: ${JSON.stringify(data)}`);
297    }
298});
299```
300
301
302
303## Context.getApplicationInfo<sup>7+</sup>
304
305getApplicationInfo(): Promise\<ApplicationInfo>
306
307获取有关当前应用程序的信息(Promise形式)。
308
309**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
310
311**返回值:**
312
313| 类型                        | 说明        |
314| ------------------------- | --------- |
315| Promise\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | 当前应用程序的信息 |
316
317**示例:**
318
319```ts
320import featureAbility from '@ohos.ability.featureAbility';
321
322let context: featureAbility.Context = featureAbility.getContext();
323context.getApplicationInfo().then((data) => {
324    console.info(`getApplicationInfo data: ${JSON.stringify(data)}`);
325});
326```
327
328
329
330## Context.getBundleName<sup>7+</sup>
331
332getBundleName(callback: AsyncCallback\<string>): void
333
334获取当前ability的Bundle名称(callback形式)。
335
336**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
337
338**参数:**
339
340| 参数名       | 类型                     | 必填   | 说明                 |
341| -------- | ---------------------- | ---- | ------------------ |
342| callback | AsyncCallback\<string> | 是    | 返回当前ability的Bundle名称。 |
343
344**示例:**
345
346```ts
347import featureAbility from '@ohos.ability.featureAbility';
348
349let context: featureAbility.Context = featureAbility.getContext();
350context.getBundleName((error, data) => {
351    if (error && error.code !== 0) {
352        console.error(`getBundleName fail, error: ${JSON.stringify(error)}`);
353    } else {
354        console.log(`getBundleName success, data: ${JSON.stringify(data)}`);
355    }
356});
357```
358
359
360
361## Context.getBundleName<sup>7+</sup>
362
363getBundleName(): Promise\<string>
364
365获取当前ability的Bundle名称(Promise形式)。
366
367**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
368
369**返回值:**
370
371| 类型               | 说明               |
372| ---------------- | ---------------- |
373| Promise\<string> | 当前ability的Bundle名称。 |
374
375**示例:**
376
377```ts
378import featureAbility from '@ohos.ability.featureAbility';
379
380let context: featureAbility.Context = featureAbility.getContext();
381context.getBundleName().then((data) => {
382    console.info(`getBundleName data: ${JSON.stringify(data)}`);
383});
384```
385
386## Context.getDisplayOrientation<sup>7+</sup>
387
388getDisplayOrientation(callback: AsyncCallback\<bundle.DisplayOrientation>): void
389
390获取当前ability的显示方向(callback形式)。
391
392**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
393
394**参数:**
395
396| 参数名     | 类型                                                         | 必填 | 说明               |
397| -------- | ------------------------------------------------------------ | ---- | ------------------ |
398| callback | AsyncCallback\<[bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation)> | 是   | 表示屏幕显示方向。 |
399
400**示例:**
401
402```ts
403import featureAbility from '@ohos.ability.featureAbility';
404
405let context: featureAbility.Context = featureAbility.getContext();
406context.getDisplayOrientation((error, data) => {
407    if (error && error.code !== 0) {
408        console.error(`getDisplayOrientation fail, error: ${JSON.stringify(error)}`);
409    } else {
410        console.log(`getDisplayOrientation success, data: ${JSON.stringify(data)}`);
411    }
412});
413```
414
415## Context.getDisplayOrientation<sup>7+</sup>
416
417getDisplayOrientation(): Promise\<bundle.DisplayOrientation>
418
419获取此能力的当前显示方向(Promise形式)。
420
421**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
422
423**返回值:**
424
425| 类型                                       | 说明        |
426| ---------------------------------------- | --------- |
427| Promise\<[bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation)> | 表示屏幕显示方向。 |
428
429**示例:**
430
431```ts
432import featureAbility from '@ohos.ability.featureAbility';
433
434let context: featureAbility.Context = featureAbility.getContext();
435context.getDisplayOrientation().then((data) => {
436    console.info(`getDisplayOrientation data: ${JSON.stringify(data)}`);
437});
438```
439
440## Context.getExternalCacheDir<sup>(deprecated)</sup>
441
442getExternalCacheDir(callback: AsyncCallback\<string>): void
443
444获取应用程序的外部缓存目录(callback形式)。
445> 从API version 7开始不再支持。
446
447**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
448
449**参数:**
450
451| 参数名       | 类型                     | 必填   | 说明                 |
452| -------- | ---------------------- | ---- | ------------------ |
453| callback | AsyncCallback\<string> | 是    | 返回应用程序的缓存目录的绝对路径。 |
454
455**示例:**
456
457```ts
458import featureAbility from '@ohos.ability.featureAbility';
459
460let context: featureAbility.Context = featureAbility.getContext();
461context.getExternalCacheDir((error, data) => {
462    if (error && error.code !== 0) {
463        console.error(`getExternalCacheDir fail, error: ${JSON.stringify(error)}`);
464    } else {
465        console.log(`getExternalCacheDir success, data: ${JSON.stringify(data)}`);
466    }
467});
468```
469
470## Context.getExternalCacheDir<sup>(deprecated)</sup>
471
472getExternalCacheDir(): Promise\<string>
473
474获取应用程序的外部缓存目录(Promise形式)。
475> 从API version 7开始不再支持。
476
477**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
478
479**返回值:**
480
481| 类型               | 说明               |
482| ---------------- | ---------------- |
483| Promise\<string> | 返回应用程序的缓存目录的绝对路径。 |
484
485**示例:**
486
487```ts
488import featureAbility from '@ohos.ability.featureAbility';
489
490let context: featureAbility.Context = featureAbility.getContext();
491context.getExternalCacheDir().then((data) => {
492    console.info(`getExternalCacheDir data: ${JSON.stringify(data)}`);
493});
494```
495
496## Context.setDisplayOrientation<sup>7+</sup>
497
498setDisplayOrientation(orientation: bundle.DisplayOrientation, callback: AsyncCallback\<void>): void
499
500设置当前能力的显示方向(callback形式)。
501
502**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
503
504**参数:**
505
506| 参数名          | 类型                                       | 必填   | 说明           |
507| ----------- | ---------------------------------------- | ---- | ------------ |
508| orientation | [bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation) | 是    | 指示当前能力的新方向。 |
509| callback    | AsyncCallback\<void> | 是    | 表示屏幕显示方向。    |
510
511**示例:**
512
513```ts
514import featureAbility from '@ohos.ability.featureAbility';
515import bundleManager from '@ohos.bundle';
516
517let context: featureAbility.Context = featureAbility.getContext();
518let orientation = bundleManager.DisplayOrientation.LANDSCAPE;
519context.setDisplayOrientation(orientation, (error) => {
520    console.error(`setDisplayOrientation fail, error: ${JSON.stringify(error)}`);
521});
522```
523
524## Context.setDisplayOrientation<sup>7+</sup>
525
526setDisplayOrientation(orientation: bundle.DisplayOrientation): Promise\<void>
527
528设置当前能力的显示方向(Promise形式)。
529
530**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
531
532**参数:**
533
534| 参数名                                       | 类型                                       | 必填   | 说明                                       |
535| ---------------------------------------- | ---------------------------------------- | ---- | ------------ |
536| orientation                              | [bundle.DisplayOrientation](js-apis-bundleManager.md#displayorientation) | 是    | 表示屏幕显示方向。                                |
537
538**返回值:**
539
540| 类型             | 说明               |
541| -------------- | ---------------- |
542| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
543
544**示例:**
545
546```ts
547import featureAbility from '@ohos.ability.featureAbility';
548import bundleManager from '@ohos.bundle';
549
550let context: featureAbility.Context = featureAbility.getContext();
551let orientation = bundleManager.DisplayOrientation.UNSPECIFIED;
552context.setDisplayOrientation(orientation).then((data) => {
553    console.info(`setDisplayOrientation data: ${JSON.stringify(data)}`);
554});
555```
556
557## Context.setShowOnLockScreen<sup>(deprecated)</sup>
558
559setShowOnLockScreen(show: boolean, callback: AsyncCallback\<void>): void
560
561设置每当显示锁屏时是否在锁屏顶部显示此功能,使该功能保持激活状态(callback形式)。
562> 从API version 9开始不再支持。建议使用[window.setShowOnLockScreen](../apis-arkui/js-apis-window-sys.md#setshowonlockscreen9)替代。
563
564**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
565
566**参数:**
567
568| 参数名       | 类型                   | 必填   | 说明                                       |
569| -------- | -------------------- | ---- | ---------------------------------------- |
570| show     | boolean              | 是    | 指定是否在锁屏顶部显示此功能。值true表示在锁屏上显示,值false表示不显示。 |
571| callback | AsyncCallback\<void> | 是    | 返回回调结果。                                  |
572
573**示例:**
574
575```ts
576import featureAbility from '@ohos.ability.featureAbility';
577
578let context: featureAbility.Context = featureAbility.getContext();
579let show = true;
580context.setShowOnLockScreen(show, (error) => {
581    console.error(`setShowOnLockScreen fail, error: ${JSON.stringify(error)}`);
582});
583```
584
585## Context.setShowOnLockScreen<sup>(deprecated)</sup>
586
587setShowOnLockScreen(show: boolean): Promise\<void>
588
589设置每当显示锁屏时是否在锁屏顶部显示此功能,使该功能保持激活状态(Promise形式)。
590> 从API version 9开始不再支持。建议使用[window.setShowOnLockScreen](../apis-arkui/js-apis-window-sys.md#setshowonlockscreen9)替代。
591
592**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
593
594**参数:**
595
596| 参数名   | 类型      | 必填   | 说明                                       |
597| ---- | ------- | ---- | ---------------------------------------- |
598| show | boolean | 是    | 指定是否在锁屏顶部显示此功能。值true表示在锁屏上显示,值false表示不显示。 |
599
600**返回值:**
601
602| 类型             | 说明              |
603| -------------- | --------------- |
604| Promise\<void> | 使用Promise形式返回结果 |
605
606**示例:**
607
608```ts
609import featureAbility from '@ohos.ability.featureAbility';
610
611let context: featureAbility.Context = featureAbility.getContext();
612let show = true;
613context.setShowOnLockScreen(show).then((data) => {
614    console.info(`setShowOnLockScreen data: ${JSON.stringify(data)}`);
615});
616```
617
618## Context.setWakeUpScreen<sup>7+</sup>
619
620setWakeUpScreen(wakeUp: boolean, callback: AsyncCallback\<void>): void
621
622设置恢复此功能时是否唤醒屏幕(callback形式)。
623
624**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
625
626**参数:**
627
628| 参数名       | 类型                   | 必填   | 说明                                |
629| -------- | -------------------- | ---- | --------------------------------- |
630| wakeUp   | boolean              | 是    | 指定是否唤醒屏幕。值true表示唤醒它,值false表示不唤醒它。 |
631| callback | AsyncCallback\<void> | 是    | 返回回调结果。                           |
632
633**示例:**
634
635```ts
636import featureAbility from '@ohos.ability.featureAbility';
637
638let context: featureAbility.Context = featureAbility.getContext();
639let wakeUp = true;
640context.setWakeUpScreen(wakeUp, (error) => {
641    console.error(`setWakeUpScreen fail, error: ${JSON.stringify(error)}`);
642});
643```
644
645## Context.setWakeUpScreen<sup>7+</sup>
646
647setWakeUpScreen(wakeUp: boolean): Promise\<void>
648
649设置恢复此功能时是否唤醒屏幕(Promise形式)。
650
651**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
652
653**参数:**
654
655| 参数名     | 类型      | 必填   | 说明                                |
656| ------ | ------- | ---- | --------------------------------- |
657| wakeUp | boolean | 是    | 指定是否唤醒屏幕。值true表示唤醒它,值false表示不唤醒它。 |
658
659**返回值:**
660
661| 类型             | 说明              |
662| -------------- | --------------- |
663| Promise\<void> | 使用Promise形式返回结果 |
664
665**示例:**
666
667```ts
668import featureAbility from '@ohos.ability.featureAbility';
669
670let context: featureAbility.Context = featureAbility.getContext();
671let wakeUp = true;
672context.setWakeUpScreen(wakeUp).then((data) => {
673    console.info(`setWakeUpScreen data: ${JSON.stringify(data)}`);
674});
675```
676
677
678
679
680## Context.getProcessInfo<sup>7+</sup>
681
682getProcessInfo(callback: AsyncCallback\<ProcessInfo>): void
683
684获取有关当前进程的信息,包括进程ID和名称(callback形式)。
685
686**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
687
688**参数:**
689
690| 参数名       | 类型                          | 必填   | 说明         |
691| -------- | --------------------------- | ---- | ---------- |
692| callback | AsyncCallback\<[ProcessInfo](js-apis-inner-app-processInfo.md)> | 是    | 返回当前进程的信息。 |
693
694**示例:**
695
696```ts
697import featureAbility from '@ohos.ability.featureAbility';
698
699let context: featureAbility.Context = featureAbility.getContext();
700context.getProcessInfo((error, data) => {
701    if (error && error.code !== 0) {
702        console.error(`getProcessInfo fail, error: ${JSON.stringify(error)}`);
703    } else {
704        console.log(`getProcessInfo success, data: ${JSON.stringify(data)}`);
705    }
706});
707```
708
709
710
711## Context.getProcessInfo<sup>7+</sup>
712
713getProcessInfo(): Promise\<ProcessInfo>
714
715获取有关当前进程的信息,包括进程id和名称(Promise形式)。
716
717**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
718
719**返回值:**
720
721| 类型                    | 说明      |
722| --------------------- | ------- |
723| Promise\<[ProcessInfo](js-apis-inner-app-processInfo.md)> | 当前进程的信息 |
724
725**示例:**
726
727```ts
728import featureAbility from '@ohos.ability.featureAbility';
729
730let context: featureAbility.Context = featureAbility.getContext();
731context.getProcessInfo().then((data) => {
732    console.info(`getProcessInfo data: ${JSON.stringify(data)}`);
733});
734```
735
736
737
738## Context.getElementName<sup>7+</sup>
739
740getElementName(callback: AsyncCallback\<ElementName>): void
741
742获取当前ability的ohos.bundleManager.ElementName对象(callback形式)。
743
744此方法仅适用于页面功能。
745
746**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
747
748**参数:**
749
750| 参数名       | 类型                          | 必填   | 说明                                     |
751| -------- | --------------------------- | ---- | -------------------------------------- |
752| callback | AsyncCallback\<[ElementName](js-apis-bundleManager-elementName.md)> | 是    | 返回当前ability的ohos.bundleManager.ElementName对象。 |
753
754**示例:**
755
756```ts
757import featureAbility from '@ohos.ability.featureAbility';
758
759let context: featureAbility.Context = featureAbility.getContext();
760context.getElementName((error, data) => {
761    if (error && error.code !== 0) {
762        console.error(`getElementName fail, error: ${JSON.stringify(error)}`);
763    } else {
764        console.log(`getElementName success, data: ${JSON.stringify(data)}`);
765    }
766});
767```
768
769
770
771## Context.getElementName<sup>7+</sup>
772
773getElementName(): Promise\<ElementName>
774
775获取当前能力的ohos.bundleManager.ElementName对象(Promise形式)。
776
777此方法仅适用于页面功能。
778
779**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
780
781**返回值:**
782
783| 类型                    | 说明                                   |
784| --------------------- | ------------------------------------ |
785| Promise\<[ElementName](js-apis-bundleManager-elementName.md)> | 当前ability的ohos.bundleManager.ElementName对象。 |
786
787**示例:**
788
789```ts
790import featureAbility from '@ohos.ability.featureAbility';
791
792let context: featureAbility.Context = featureAbility.getContext();
793context.getElementName().then((data) => {
794    console.info(`getElementName data: ${JSON.stringify(data)}`);
795});
796```
797
798## Context.getProcessName<sup>7+</sup>
799
800getProcessName(callback: AsyncCallback\<string>): void
801
802获取当前进程的名称(callback形式)。
803
804**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
805
806**参数:**
807
808| 参数名       | 类型                     | 必填   | 说明         |
809| -------- | ---------------------- | ---- | ---------- |
810| callback | AsyncCallback\<string> | 是    | 返回当前进程的名称。 |
811
812**示例:**
813
814```ts
815import featureAbility from '@ohos.ability.featureAbility';
816
817let context: featureAbility.Context = featureAbility.getContext();
818context.getProcessName((error, data) => {
819    if (error && error.code !== 0) {
820        console.error(`getProcessName fail, error: ${JSON.stringify(error)}`);
821    } else {
822        console.log(`getProcessName success, data: ${JSON.stringify(data)}`);
823    }
824});
825```
826
827
828
829## Context.getProcessName<sup>7+</sup>
830
831getProcessName(): Promise\<string>
832
833获取当前进程的名称(Promise形式)。
834
835**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
836
837**返回值:**
838
839| 类型               | 说明         |
840| ---------------- | ---------- |
841| Promise\<string> | 返回当前进程的名称。 |
842
843**示例:**
844
845```ts
846import featureAbility from '@ohos.ability.featureAbility';
847
848let context: featureAbility.Context = featureAbility.getContext();
849context.getProcessName().then((data) => {
850    console.info(`getProcessName data: ${JSON.stringify(data)}`);
851});
852```
853
854
855
856## Context.getCallingBundle<sup>7+</sup>
857
858getCallingBundle(callback: AsyncCallback\<string>): void
859
860获取ability调用方的Bundle名称(callback形式)。
861
862**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
863
864**参数:**
865
866| 参数名       | 类型                     | 必填   | 说明               |
867| -------- | ---------------------- | ---- | ---------------- |
868| callback | AsyncCallback\<string> | 是    | 返回ability调用方的Bundle名称。 |
869
870**示例:**
871
872```ts
873import featureAbility from '@ohos.ability.featureAbility';
874
875let context: featureAbility.Context = featureAbility.getContext();
876context.getCallingBundle((error, data) => {
877    if (error && error.code !== 0) {
878        console.error(`getCallingBundle fail, error: ${JSON.stringify(error)}`);
879    } else {
880        console.log(`getCallingBundle success, data: ${JSON.stringify(data)}`);
881    }
882});
883```
884
885
886
887## Context.getCallingBundle<sup>7+</sup>
888
889getCallingBundle(): Promise\<string>
890
891获取ability调用方的Bundle名称(Promise形式)。
892
893**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
894
895**返回值:**
896
897| 类型               | 说明             |
898| ---------------- | -------------- |
899| Promise\<string> | 返回ability调用方的Bundle名称。 |
900
901**示例:**
902
903```ts
904import featureAbility from '@ohos.ability.featureAbility';
905
906let context: featureAbility.Context = featureAbility.getContext();
907context.getCallingBundle().then((data) => {
908    console.info(`getCallingBundle data: ${JSON.stringify(data)}`);
909});
910```
911
912## Context.getCacheDir
913
914getCacheDir(callback: AsyncCallback\<string>): void
915
916获取该应用程序的内部存储目录(callback形式)。
917
918**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
919
920**参数:**
921
922| 参数名       | 类型                     | 必填   | 说明              |
923| -------- | ---------------------- | ---- | --------------- |
924| callback | AsyncCallback\<string> | 是    | 返回该应用程序的内部存储目录。 |
925
926**示例:**
927
928```ts
929import featureAbility from '@ohos.ability.featureAbility';
930
931let context: featureAbility.Context = featureAbility.getContext();
932context.getCacheDir((error, data) => {
933    if (error && error.code !== 0) {
934        console.error(`getCacheDir fail, error: ${JSON.stringify(error)}`);
935    } else {
936        console.log(`getCacheDir success, data: ${JSON.stringify(data)}`);
937    }
938});
939```
940
941## Context.getCacheDir
942
943getCacheDir(): Promise\<string>
944
945获取该应用程序的内部存储目录(Promise形式)。
946
947**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
948
949**返回值:**
950
951| 类型               | 说明              |
952| ---------------- | --------------- |
953| Promise\<string> | 返回该应用程序的内部存储目录。 |
954
955**示例:**
956
957```ts
958import featureAbility from '@ohos.ability.featureAbility';
959
960let context: featureAbility.Context = featureAbility.getContext();
961context.getCacheDir().then((data) => {
962    console.info(`getCacheDir data: ${JSON.stringify(data)}`);
963});
964```
965
966## Context.getFilesDir
967
968getFilesDir(callback: AsyncCallback\<string>): void
969
970获取内部存储器上此应用程序的文件目录(callback形式)。
971
972**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
973
974**参数:**
975
976| 参数名       | 类型                     | 必填   | 说明                  |
977| -------- | ---------------------- | ---- | ------------------- |
978| callback | AsyncCallback\<string> | 是    | 返回内部存储器上此应用程序的文件目录。 |
979
980**示例:**
981
982```ts
983import featureAbility from '@ohos.ability.featureAbility';
984
985let context: featureAbility.Context = featureAbility.getContext();
986context.getFilesDir((error, data) => {
987    if (error && error.code !== 0) {
988        console.error(`getFilesDir fail, error: ${JSON.stringify(error)}`);
989    } else {
990        console.log(`getFilesDir success, data: ${JSON.stringify(data)}`);
991    }
992});
993```
994
995## Context.getFilesDir
996
997getFilesDir(): Promise\<string>
998
999获取内部存储器上此应用程序的文件目录(Promise形式)。
1000
1001**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1002
1003**返回值:**
1004
1005| 类型               | 说明                  |
1006| ---------------- | ------------------- |
1007| Promise\<string> | 返回内部存储器上此应用程序的文件目录。 |
1008
1009**示例:**
1010
1011```ts
1012import featureAbility from '@ohos.ability.featureAbility';
1013
1014let context: featureAbility.Context = featureAbility.getContext();
1015context.getFilesDir().then((data) => {
1016    console.info(`getFilesDir data: ${JSON.stringify(data)}`);
1017});
1018```
1019
1020## Context.getOrCreateDistributedDir<sup>7+</sup>
1021
1022getOrCreateDistributedDir(callback: AsyncCallback\<string>): void
1023
1024获取Ability或应用的分布式文件路径。
1025
1026如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(callback形式)。
1027
1028**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1029
1030**参数:**
1031
1032| 参数名       | 类型                     | 必填   | 说明                                       |
1033| -------- | ---------------------- | ---- | ---------------------------------------- |
1034| callback | AsyncCallback\<string> | 是    | 返回Ability或应用的分布式文件路径。<br>若路径不存在,系统将创建一个路径并返回创建的路径。 |
1035
1036**示例:**
1037
1038```ts
1039import featureAbility from '@ohos.ability.featureAbility';
1040
1041let context: featureAbility.Context = featureAbility.getContext();
1042context.getOrCreateDistributedDir((error, data) => {
1043    if (error && error.code !== 0) {
1044        console.error(`getOrCreateDistributedDir fail, error: ${JSON.stringify(error)}`);
1045    } else {
1046        console.log(`getOrCreateDistributedDir success, data: ${JSON.stringify(data)}`);
1047    }
1048});
1049```
1050
1051## Context.getOrCreateDistributedDir<sup>7+</sup>
1052
1053getOrCreateDistributedDir(): Promise\<string>
1054
1055获取Ability或应用的分布式文件路径。
1056
1057如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(Promise形式)。
1058
1059**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1060
1061**返回值:**
1062
1063| 类型               | 说明                                  |
1064| ---------------- | ----------------------------------- |
1065| Promise\<string> | 返回Ability或应用的分布式文件路径。若为首次调用,则将创建目录。 |
1066
1067**示例:**
1068
1069```ts
1070import featureAbility from '@ohos.ability.featureAbility';
1071
1072let context: featureAbility.Context = featureAbility.getContext();
1073context.getOrCreateDistributedDir().then((data) => {
1074    console.info(`getOrCreateDistributedDir data: ${JSON.stringify(data)}`);
1075});
1076```
1077
1078## Context.getAppType<sup>7+</sup>
1079
1080getAppType(callback: AsyncCallback\<string>): void
1081
1082获取此应用的类型(callback形式)。
1083
1084**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1085
1086**参数:**
1087
1088| 参数名       | 类型                     | 必填   | 说明                               |
1089| -------- | ---------------------- | ---- | -------------------------------- |
1090| callback | AsyncCallback\<string> | 是    | 返回此应用程序的类型。 |
1091
1092**示例:**
1093
1094```ts
1095import featureAbility from '@ohos.ability.featureAbility';
1096
1097let context: featureAbility.Context = featureAbility.getContext();
1098context.getAppType((error, data) => {
1099    if (error && error.code !== 0) {
1100        console.error(`getAppType fail, error: ${JSON.stringify(error)}`);
1101    } else {
1102        console.log(`getAppType success, data: ${JSON.stringify(data)}`);
1103    }
1104});
1105```
1106
1107## Context.getAppType<sup>7+</sup>
1108
1109getAppType(): Promise\<string>
1110
1111获取此应用的类型(Promise形式)。
1112
1113**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1114
1115**返回值:**
1116
1117| 类型               | 说明                 |
1118| ---------------- | ------------------ |
1119| Promise\<string> | 返回此应用的类型。 |
1120
1121**示例:**
1122
1123```ts
1124import featureAbility from '@ohos.ability.featureAbility';
1125
1126let context: featureAbility.Context = featureAbility.getContext();
1127context.getAppType().then((data) => {
1128    console.info(`getAppType data: ${JSON.stringify(data)}`);
1129});
1130```
1131
1132## Context.getHapModuleInfo<sup>7+</sup>
1133
1134getHapModuleInfo(callback: AsyncCallback\<HapModuleInfo>): void
1135
1136获取应用的ModuleInfo对象(callback形式)。
1137
1138**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1139
1140**参数:**
1141
1142| 参数名       | 类型                                       | 必填   | 说明                                      |
1143| -------- | ---------------------------------------- | ---- | --------------------------------------- |
1144| callback | AsyncCallback\<[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)> | 是    | 返回应用的ModuleInfo对象。 |
1145
1146**示例:**
1147
1148```ts
1149import featureAbility from '@ohos.ability.featureAbility';
1150
1151let context: featureAbility.Context = featureAbility.getContext();
1152context.getHapModuleInfo((error, data) => {
1153    if (error && error.code !== 0) {
1154        console.error(`getHapModuleInfo fail, error: ${JSON.stringify(error)}`);
1155    } else {
1156        console.log(`getHapModuleInfo success, data: ${JSON.stringify(data)}`);
1157    }
1158});
1159```
1160
1161## Context.getHapModuleInfo<sup>7+</sup>
1162
1163getHapModuleInfo(): Promise\<HapModuleInfo>
1164
1165获取应用的ModuleInfo对象(Promise形式)。
1166
1167**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1168
1169**返回值:**
1170
1171| 类型                                       | 说明                 |
1172| ---------------------------------------- | ------------------ |
1173| Promise\<[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)> | 返回应用的ModuleInfo对象。 |
1174
1175**示例:**
1176
1177```ts
1178import featureAbility from '@ohos.ability.featureAbility';
1179
1180let context: featureAbility.Context = featureAbility.getContext();
1181context.getHapModuleInfo().then((data) => {
1182    console.info(`getHapModuleInfo data: ${JSON.stringify(data)}`);
1183});
1184```
1185
1186## Context.getAppVersionInfo<sup>7+</sup>
1187
1188getAppVersionInfo(callback: AsyncCallback\<AppVersionInfo>): void
1189
1190获取应用的版本信息(callback形式)。
1191
1192**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1193
1194**参数:**
1195
1196| 参数名       | 类型                                       | 必填   | 说明                             |
1197| -------- | ---------------------------------------- | ---- | ------------------------------ |
1198| callback | AsyncCallback\<[AppVersionInfo](js-apis-inner-app-appVersionInfo.md)> | 是    | 返回应用版本信息。 |
1199
1200**示例:**
1201
1202```ts
1203import featureAbility from '@ohos.ability.featureAbility';
1204
1205let context: featureAbility.Context = featureAbility.getContext();
1206context.getAppVersionInfo((error, data) => {
1207    if (error && error.code !== 0) {
1208        console.error(`getAppVersionInfo fail, error: ${JSON.stringify(error)}`);
1209    } else {
1210        console.log(`getAppVersionInfo success, data: ${JSON.stringify(data)}`);
1211    }
1212});
1213```
1214
1215## Context.getAppVersionInfo<sup>7+</sup>
1216
1217getAppVersionInfo(): Promise\<AppVersionInfo>
1218
1219获取应用的版本信息(Promise形式)。
1220
1221**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1222
1223**返回值:**
1224
1225| 类型                                       | 说明        |
1226| ---------------------------------------- | --------- |
1227| Promise\<[AppVersionInfo](js-apis-inner-app-appVersionInfo.md)> | 返回应用版本信息。 |
1228
1229**示例:**
1230
1231```ts
1232import featureAbility from '@ohos.ability.featureAbility';
1233
1234let context: featureAbility.Context = featureAbility.getContext();
1235context.getAppVersionInfo().then((data) => {
1236    console.info(`getAppVersionInfo data: ${JSON.stringify(data)}`);
1237});
1238```
1239
1240## Context.getAbilityInfo<sup>7+</sup>
1241
1242getAbilityInfo(callback: AsyncCallback\<AbilityInfo>): void
1243
1244查询当前归属Ability详细信息(callback形式)。
1245
1246**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1247
1248**参数:**
1249
1250| 参数名       | 类型                                       | 必填   | 说明                                      |
1251| -------- | ---------------------------------------- | ---- | --------------------------------------- |
1252| callback | AsyncCallback\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)> | 是    | 返回当前归属Ability详细信息。 |
1253
1254**示例:**
1255
1256```ts
1257import featureAbility from '@ohos.ability.featureAbility';
1258
1259let context: featureAbility.Context = featureAbility.getContext();
1260context.getAbilityInfo((error, data) => {
1261    if (error && error.code !== 0) {
1262        console.error(`getAbilityInfo fail, error: ${JSON.stringify(error)}`);
1263    } else {
1264        console.log(`getAbilityInfo success, data: ${JSON.stringify(data)}`);
1265    }
1266});
1267```
1268
1269## Context.getAbilityInfo<sup>7+</sup>
1270
1271getAbilityInfo(): Promise\<AbilityInfo>
1272
1273查询当前归属Ability详细信息(Promise形式)。
1274
1275**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1276
1277**返回值:**
1278
1279| 类型                                       | 说明                 |
1280| ---------------------------------------- | ------------------ |
1281| Promise\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)> | 返回当前归属Ability详细信息。 |
1282
1283**示例:**
1284
1285```ts
1286import featureAbility from '@ohos.ability.featureAbility';
1287
1288let context: featureAbility.Context = featureAbility.getContext();
1289context.getAbilityInfo().then((data) => {
1290    console.info(`getAbilityInfo data: ${JSON.stringify(data)}`);
1291});
1292```
1293
1294## Context.getApplicationContext<sup>7+</sup>
1295
1296getApplicationContext(): Context
1297
1298获取应用上下文信息。
1299
1300**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1301
1302**返回值:**
1303
1304| 类型      | 说明         |
1305| ------- | ---------- |
1306| Context | 返回应用上下文信息。 |
1307
1308**示例:**
1309
1310```ts
1311import featureAbility from '@ohos.ability.featureAbility';
1312
1313let context: featureAbility.Context = featureAbility.getContext().getApplicationContext();
1314```
1315
1316## Context.isUpdatingConfigurations<sup>7+</sup>
1317
1318isUpdatingConfigurations(callback: AsyncCallback\<boolean>): void
1319
1320检查此能力的配置是否正在更改(callback形式)。
1321
1322**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1323
1324**参数:**
1325
1326| 参数名       | 类型                      | 必填   | 说明                            |
1327| -------- | ----------------------- | ---- | ----------------------------- |
1328| callback | AsyncCallback\<boolean> | 是    | 如果该能力的配置正在更改,则为true,否则为false。 |
1329
1330**示例:**
1331
1332```ts
1333import featureAbility from '@ohos.ability.featureAbility';
1334
1335let context: featureAbility.Context = featureAbility.getContext();
1336context.isUpdatingConfigurations((error, data) => {
1337    if (error && error.code !== 0) {
1338        console.error(`isUpdatingConfigurations fail, error: ${JSON.stringify(error)}`);
1339    } else {
1340        console.log(`isUpdatingConfigurations success, data: ${JSON.stringify(data)}`);
1341    }
1342});
1343```
1344
1345## Context.isUpdatingConfigurations<sup>7+</sup>
1346
1347isUpdatingConfigurations(): Promise\<boolean>
1348
1349检查此能力的配置是否正在更改(Promise形式)。
1350
1351**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1352
1353**返回值:**
1354
1355| 类型                | 说明                            |
1356| ----------------- | ----------------------------- |
1357| Promise\<boolean> | 如果该能力的配置正在更改,则为true,否则为false。 |
1358
1359**示例:**
1360
1361```ts
1362import featureAbility from '@ohos.ability.featureAbility';
1363
1364let context: featureAbility.Context = featureAbility.getContext();
1365context.isUpdatingConfigurations().then((data) => {
1366    console.info(`isUpdatingConfigurations data: ${JSON.stringify(data)}`);
1367});
1368```
1369
1370## Context.printDrawnCompleted<sup>7+</sup>
1371
1372printDrawnCompleted(callback: AsyncCallback\<void>): void
1373
1374通知系统绘制此页面功能所需的时间(callback形式)。
1375
1376**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1377
1378**参数:**
1379
1380| 参数名       | 类型                   | 必填   | 说明          |
1381| -------- | -------------------- | ---- | ----------- |
1382| callback | AsyncCallback\<void> | 是    | 表示被指定的回调方法。 |
1383
1384**示例:**
1385
1386```ts
1387import featureAbility from '@ohos.ability.featureAbility';
1388
1389let context: featureAbility.Context = featureAbility.getContext();
1390context.printDrawnCompleted((err) => {
1391    console.error(`printDrawnCompleted err: ${JSON.stringify(err)}`);
1392});
1393```
1394
1395## Context.printDrawnCompleted<sup>7+</sup>
1396
1397printDrawnCompleted(): Promise\<void>
1398
1399通知系统绘制此页面功能所需的时间(Promise形式)。
1400
1401**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1402
1403**返回值:**
1404
1405| 类型             | 说明              |
1406| -------------- | --------------- |
1407| Promise\<void> | 以Promise形式返回结果。 |
1408
1409**示例:**
1410
1411```ts
1412import featureAbility from '@ohos.ability.featureAbility';
1413
1414let context: featureAbility.Context = featureAbility.getContext();
1415context.printDrawnCompleted().then((data) => {
1416    console.info(`printDrawnCompleted data: ${JSON.stringify(data)}`);
1417});
1418```
1419
1420
1421## PermissionOptions<sup>7+</sup>
1422
1423**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
1424
1425| 名称   | 类型     | 必填   | 说明    |
1426| ---- | ------ | ---- | ----- |
1427| pid  |number | 否    | 进程id。 |
1428| uid  |number | 否    | 用户id。 |
1429
1430## PermissionRequestResult<sup>7+</sup>
1431
1432**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
1433
1434| 名称         | 类型             | 必填   | 说明         |
1435| ----------- |-------------- | ---- | ---------- |
1436| requestCode | number         | 是    | 用户传入的请求代码。 |
1437| permissions | Array\<string> | 是    | 用户传入的权限。   |
1438| authResults | Array\<number> | 是    | 请求权限的结果。   |