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