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