• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Context模块
2
3## 导入模块
4
5```js
6import featureAbility from '@ohos.ability.featureAbility'
7import bundle from '@ohos.bundle'
8```
9
10Context对象是在featureAbility中创建实例,并通过featureAbility的getContext()接口返回,因此在使用Context时,必须导入@ohos.ability.featureAbility库。示例如下:
11
12```js
13import featureAbility from '@ohos.ability.featureAbility'
14var context = featureAbility.getContext();
15context.getOrCreateLocalDir()
16```
17
18## Context.getOrCreateLocalDir
19
20getOrCreateLocalDir(callback: AsyncCallback\<string>): void
21
22获取应用程序的本地根目录(callback形式)。
23
24如果是第一次调用,将创建目录。
25
26**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
27
28**参数:**
29
30| 名称     | 类型                   | 必填 | 描述                       |
31| -------- | ---------------------- | ---- | -------------------------- |
32| callback | AsyncCallback\<string> | 是   | 返回应用程序的本地根目录。 |
33
34**示例:**
35
36```js
37import featureAbility from '@ohos.ability.featureAbility'
38var context = featureAbility.getContext();
39context.getOrCreateLocalDir((err, data)=>{
40    console.info("data=" + data);
41})
42```
43
44
45
46## Context.getOrCreateLocalDir
47
48getOrCreateLocalDir(): Promise\<string>
49
50获取应用程序的本地根目录(Promise形式)。
51
52如果是第一次调用,将创建目录。
53
54**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
55
56**返回值:**
57
58| 类型             | 说明                   |
59| ---------------- | ---------------------- |
60| Promise\<string> | 应用程序的本地根目录。 |
61
62**示例:**
63
64```js
65import featureAbility from '@ohos.ability.featureAbility'
66var context = featureAbility.getContext();
67context.getOrCreateLocalDir().then((data) => {
68    console.info("data=" + data);
69});
70```
71
72
73
74## Context.verifyPermission
75
76verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\<number>): void
77
78验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)。
79
80**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
81
82**参数:**
83
84| 名称       | 类型                                    | 必填 | 描述                                  |
85| ---------- | --------------------------------------- | ---- | ------------------------------------- |
86| permission | string                                  | 是   | 指定权限的名称。                      |
87| options    | [PermissionOptions](#permissionoptions) | 是   | 权限选项。                            |
88| callback   | AsyncCallback\<number>                  | 是   | 返回权限验证结果,0有权限,-1无权限。 |
89
90**示例:**
91
92```js
93import featureAbility from '@ohos.ability.featureAbility'
94import bundle from '@ohos.bundle'
95var context = featureAbility.getContext();
96bundle.getBundleInfo('com.context.test', 1, (datainfo) =>{
97	context.verifyPermission("com.example.permission", datainfo.uid);
98});
99```
100
101
102
103## Context.verifyPermission
104
105verifyPermission(permission: string, callback: AsyncCallback\<number>): void
106
107验证系统中运行的当前pid和uid是否具有指定的权限(callback形式)。
108
109**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
110
111**参数:**
112
113| 名称       | 类型                   | 必填 | 描述                                  |
114| ---------- | ---------------------- | ---- | ------------------------------------- |
115| permission | string                 | 是   | 指定权限的名称。                      |
116| callback   | AsyncCallback\<number> | 是   | 返回权限验证结果,0有权限,-1无权限。 |
117
118**示例:**
119
120```js
121import featureAbility from '@ohos.ability.featureAbility'
122var context = featureAbility.getContext();
123context.verifyPermission("com.example.permission")
124```
125
126## Context.verifyPermission
127
128verifyPermission(permission: string, options?: PermissionOptions): Promise\<number>
129
130验证系统中运行的特定pid和uid是否具有指定的权限(Promise形式)。
131
132**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
133
134**参数:**
135
136| 名称       | 类型                                    | 必填 | 描述             |
137| ---------- | --------------------------------------- | ---- | ---------------- |
138| permission | string                                  | 是   | 指定权限的名称。 |
139| options    | [PermissionOptions](#permissionoptions) | 否   | 权限选项。       |
140
141**返回值:**
142
143| 类型             | 说明                                                        |
144| ---------------- | ----------------------------------------------------------- |
145| Promise\<number> | 如果pid和uid具有权限,则使用0进行异步回调;否则使用-1回调。 |
146
147**示例:**
148
149```js
150import featureAbility from '@ohos.ability.featureAbility'
151var context = featureAbility.getContext();
152var Permission = context.PermissionOptions(1,1);
153context.verifyPermission('com.context.permission',Permission).then((data) => {
154    console.info("======================>verifyPermissionCallback====================>");
155    console.info("====>data====>" + JSON.stringify(data));
156});
157```
158
159
160
161## Context.requestPermissionsFromUser
162
163requestPermissionsFromUser(permissions: Array\<string>, requestCode: number, resultCallback: AsyncCallback<[PermissionRequestResult](#permissionrequestresult)>): void
164
165从系统请求某些权限(callback形式)。
166
167**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
168
169**参数:**
170
171| 名称           | 类型                                                         | 必填 | 描述                                            |
172| -------------- | ------------------------------------------------------------ | ---- | ----------------------------------------------- |
173| permissions    | Array\<string>                                               | 是   | 指示要请求的权限列表。此参数不能为null。        |
174| requestCode    | number                                                       | 是   | 指示要传递给PermissionRequestResult的请求代码。 |
175| resultCallback | AsyncCallback<[PermissionRequestResult](#permissionrequestresult)> | 是   | 返回授权结果信息。                              |
176
177**示例:**
178
179```js
180import featureAbility from '@ohos.ability.featureAbility'
181var context = featureAbility.getContext();
182context.requestPermissionsFromUser(
183    ["com.example.permission1",
184     "com.example.permission2",
185     "com.example.permission3",
186     "com.example.permission4",
187     "com.example.permission5"],
188    1,(err, data)=>{
189        console.info("====>requestdata====>" + JSON.stringify(data));
190        console.info("====>requesterrcode====>" + JSON.stringify(err.code));
191    }
192)
193```
194
195
196## Context.requestPermissionsFromUser<sup>7+</sup>
197
198requestPermissionsFromUser(permissions: Array\<string>, requestCode: number): Promise\<[PermissionRequestResult](#permissionrequestresult7)>
199
200从系统请求某些权限(promise形式)。
201
202**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
203
204**参数:**
205
206| 名称           | 类型                 | 必填  | 描述                                          |
207| -------------- | ------------------- | ----- | -------------------------------------------- |
208| permissions    | Array\<string>      | 是    | 指示要请求的权限列表。此参数不能为null。         |
209| requestCode    | number              | 是    | 指示要传递给PermissionRequestResult的请求代码。 |
210
211**返回值:**
212
213| 类型                                                           | 说明             |
214| ------------------------------------------------------------- | ---------------- |
215| Promise\<[PermissionRequestResult](#permissionrequestresult7)> | 返回授权结果信息。 |
216
217**示例:**
218
219```js
220import featureAbility from '@ohos.ability.featureAbility'
221var context = featureAbility.getContext();
222context.requestPermissionsFromUser(
223    ["com.example.permission1",
224     "com.example.permission2",
225     "com.example.permission3",
226     "com.example.permission4",
227     "com.example.permission5"],
228    1).then((data)=>{
229        console.info("====>requestdata====>" + JSON.stringify(data));
230    });
231```
232
233
234
235## Context.getApplicationInfo
236
237getApplicationInfo(callback: AsyncCallback\<ApplicationInfo>): void
238
239获取有关当前应用程序的信息(callback形式)。
240
241**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
242
243**参数:**
244
245| 名称     | 类型                            | 必填 | 描述                     |
246| -------- | ------------------------------- | ---- | ------------------------ |
247| callback | AsyncCallback\<ApplicationInfo> | 是   | 返回当前应用程序的信息。 |
248
249**示例:**
250
251```js
252import featureAbility from '@ohos.ability.featureAbility'
253var context = featureAbility.getContext();
254context.getApplicationInfo()
255```
256
257
258
259## Context.getApplicationInfo
260
261getApplicationInfo(): Promise\<ApplicationInfo>
262
263获取有关当前应用程序的信息(Promise形式)。
264
265**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
266
267**返回值:**
268
269| 类型                      | 说明               |
270| ------------------------- | ------------------ |
271| Promise\<ApplicationInfo> | 当前应用程序的信息 |
272
273**示例:**
274
275```js
276import featureAbility from '@ohos.ability.featureAbility'
277var context = featureAbility.getContext();
278context.getApplicationInfo().then((data) => {
279    console.info("=====================>getApplicationInfoCallback===================>");
280    console.info("====>data====>" + JSON.stringify(data));
281});
282```
283
284
285
286## Context.getBundleName
287
288getBundleName(callback: AsyncCallback\<string>): void
289
290获取当前ability的捆绑包名称(callback形式)。
291
292**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
293
294**参数:**
295
296| 名称     | 类型                   | 必填 | 描述                          |
297| -------- | ---------------------- | ---- | ----------------------------- |
298| callback | AsyncCallback\<string> | 是   | 返回当前ability的捆绑包名称。 |
299
300**示例:**
301
302```js
303import featureAbility from '@ohos.ability.featureAbility'
304var context = featureAbility.getContext();
305context.getBundleName()
306```
307
308
309
310## Context.getBundleName
311
312getBundleName(): Promise\<string>
313
314获取当前ability的捆绑包名称(Promise形式)。
315
316**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
317
318**返回值:**
319
320| 类型             | 说明                      |
321| ---------------- | ------------------------- |
322| Promise\<string> | 当前ability的捆绑包名称。 |
323
324**示例:**
325
326```js
327import featureAbility from '@ohos.ability.featureAbility'
328var context = featureAbility.getContext();
329context.getBundleName().then((data) => {
330    console.info("=======================>getBundleNameCallback====================>");
331    console.info("====>data====>" + JSON.stringify(data));
332});
333```
334
335
336
337## Context.getProcessInfo
338
339getProcessInfo(callback: AsyncCallback\<ProcessInfo>): void
340
341获取有关当前进程的信息,包括进程ID和名称(callback形式)。
342
343**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
344
345**参数:**
346
347| 名称     | 类型                        | 必填 | 描述                 |
348| -------- | --------------------------- | ---- | -------------------- |
349| callback | AsyncCallback\<ProcessInfo> | 是   | 返回当前进程的信息。 |
350
351**示例:**
352
353```js
354import featureAbility from '@ohos.ability.featureAbility'
355var context = featureAbility.getContext();
356context.getProcessInfo()
357```
358
359
360
361## Context.getProcessInfo
362
363getProcessInfo(): Promise\<ProcessInfo>
364
365获取有关当前进程的信息,包括进程id和名称(Promise形式)。
366
367**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
368
369**返回值:**
370
371| 类型                  | 说明           |
372| --------------------- | -------------- |
373| Promise\<ProcessInfo> | 当前进程的信息 |
374
375**示例:**
376
377```js
378import featureAbility from '@ohos.ability.featureAbility'
379var context = featureAbility.getContext();
380context.getProcessInfo().then((data) => {
381    console.info("=======================>getProcessInfoCallback====================>");
382    console.info("====>data====>" + JSON.stringify(data));
383});
384```
385
386
387
388## Context.getElementName
389
390getElementName(callback: AsyncCallback\<ElementName>): void
391
392获取当前ability的ohos.bundle.ElementName对象(callback形式)。
393
394此方法仅适用于页面功能。
395
396**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
397
398**参数:**
399
400| 名称     | 类型                        | 必填 | 描述                                           |
401| -------- | --------------------------- | ---- | ---------------------------------------------- |
402| callback | AsyncCallback\<ElementName> | 是   | 返回当前ability的ohos.bundle.ElementName对象。 |
403
404**示例:**
405
406```js
407import featureAbility from '@ohos.ability.featureAbility'
408var context = featureAbility.getContext();
409context.getElementName()
410```
411
412
413
414## Context.getElementName
415
416getElementName(): Promise\<ElementName>
417
418获取当前能力的ohos.bundle.ElementName对象(Promise形式)。
419
420此方法仅适用于页面功能。
421
422**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
423
424**返回值:**
425
426| 类型                  | 说明                                       |
427| --------------------- | ------------------------------------------ |
428| Promise\<ElementName> | 当前ability的ohos.bundle.ElementName对象。 |
429
430**示例:**
431
432```js
433import featureAbility from '@ohos.ability.featureAbility'
434var context = featureAbility.getContext();
435context.getElementName().then((data) => {
436    console.info("=======================>getElementNameCallback====================>");
437    console.info("====>data====>" + JSON.stringify(data));
438});
439```
440
441## Context.getProcessName
442
443getProcessName(callback: AsyncCallback\<string>): void
444
445获取当前进程的名称(callback形式)。
446
447**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
448
449**参数:**
450
451| 名称     | 类型                   | 必填 | 描述                 |
452| -------- | ---------------------- | ---- | -------------------- |
453| callback | AsyncCallback\<string> | 是   | 返回当前进程的名称。 |
454
455**示例:**
456
457```js
458import featureAbility from '@ohos.ability.featureAbility'
459var context = featureAbility.getContext();
460context.getProcessName()
461```
462
463
464
465## Context.getProcessName
466
467getProcessName(): Promise\<string>
468
469获取当前进程的名称(Promise形式)。
470
471**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
472
473**返回值:**
474
475| 类型             | 说明                 |
476| ---------------- | -------------------- |
477| Promise\<string> | 返回当前进程的名称。 |
478
479**示例:**
480
481```js
482import featureAbility from '@ohos.ability.featureAbility'
483var context = featureAbility.getContext();
484context.getProcessName().then((data) => {
485    console.info("=======================>getProcessNameCallback====================>");
486    console.info("====>data====>" + JSON.stringify(data));
487});
488```
489
490
491
492## Context.getCallingBundle
493
494getCallingBundle(callback: AsyncCallback\<string>): void
495
496获取调用ability的包名称(callback形式)。
497
498**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
499
500**参数:**
501
502| 名称     | 类型                   | 必填 | 描述                      |
503| -------- | ---------------------- | ---- | ------------------------- |
504| callback | AsyncCallback\<string> | 是   | 返回调用ability的包名称。 |
505
506**示例:**
507
508```js
509import featureAbility from '@ohos.ability.featureAbility'
510var context = featureAbility.getContext();
511context.getCallingBundle()
512```
513
514
515
516## Context.getCallingBundle
517
518getCallingBundle(): Promise\<string>
519
520获取调用ability的包名称(Promise形式)。
521
522**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
523
524**返回值:**
525
526| 类型            | 说明                      |
527| --------------- | ------------------------- |
528| Promise\<string> | 调用ability的包名称 |
529
530**示例:**
531
532```js
533import featureAbility from '@ohos.ability.featureAbility'
534var context = featureAbility.getContext();
535context.getCallingBundle().then((data) => {
536    console.info("======================>getCallingBundleCallback====================>");
537    console.info("====>data====>" + JSON.stringify(data));
538});
539```
540
541## Context.getCacheDir
542
543getCacheDir(callback: AsyncCallback\<string>): void
544
545获取该应用程序的内部存储目录(callback形式)。
546
547**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
548
549**参数:**
550
551| 名称     | 类型                   | 必填 | 描述                      |
552| -------- | ---------------------- | ---- | ------------------------- |
553| callback | AsyncCallback\<string> | 是   | 返回该应用程序的内部存储目录。|
554
555**示例:**
556
557```js
558import featureAbility from '@ohos.ability.featureAbility'
559var context = featureAbility.getCacheDir();
560context.getCacheDir((err, data) => {
561    if (err) {
562        console.error('Operation failed. Cause: ' + JSON.stringify(err));
563        return;
564    }
565    console.info('Operation successful. Data:' + JSON.stringify(data));
566});
567```
568
569## Context.getCacheDir
570
571getCacheDir(): Promise\<string>
572
573获取该应用程序的内部存储目录(Promise形式)。
574
575**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
576
577**返回值:**
578
579| 类型            | 说明                      |
580| --------------- | ------------------------- |
581| Promise\<string> | 获取该应用程序的内部存储目录 |
582
583**示例:**
584
585```js
586import featureAbility from '@ohos.ability.featureAbility'
587var context = featureAbility.getContext();
588context.getCacheDir().then((data) => {
589    console.info("======================>getCacheDirPromsie====================>");
590    console.info("====>data====>" + JSON.stringify(data));
591});
592```
593
594## Context.getFilesDir
595
596getFilesDir(callback: AsyncCallback\<string>): void
597
598获取内部存储器上此应用程序的文件目录(callback形式)。
599
600**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
601
602**参数:**
603
604| 名称     | 类型                   | 必填 | 描述                      |
605| -------- | ---------------------- | ---- | ------------------------- |
606| callback | AsyncCallback\<string> | 是   | 返回内部存储器上此应用程序的文件目录。|
607
608**示例:**
609
610```js
611import featureAbility from '@ohos.ability.featureAbility'
612var context = featureAbility.getFilesDir();
613context.getFilesDir((err, data) => {
614    if (err) {
615        console.error('Operation failed. Cause: ' + JSON.stringify(err));
616        return;
617    }
618    console.info('Operation successful. Data:' + JSON.stringify(data));
619});
620```
621
622## Context.getFilesDir
623
624getFilesDir(): Promise\<string>
625
626获取内部存储器上此应用程序的文件目录(Promise形式)。
627
628**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
629
630**返回值:**
631
632| 类型            | 说明                      |
633| --------------- | ------------------------- |
634| Promise\<string> | 返回内部存储器上此应用程序的文件目录。 |
635
636**示例:**
637
638```js
639import featureAbility from '@ohos.ability.featureAbility'
640var context = featureAbility.getContext();
641context.getFilesDir().then((data) => {
642    console.info("======================>getFilesDirPromsie====================>");
643    console.info("====>data====>" + JSON.stringify(data));
644});
645```
646
647## Context.getOrCreateDistributedDir
648
649getOrCreateDistributedDir(callback: AsyncCallback\<string>): void
650
651获取Ability或应用的分布式文件路径。
652
653如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(callback形式)。
654
655**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
656
657**参数:**
658
659| 名称     | 类型                   | 必填 | 描述                      |
660| -------- | ---------------------- | ---- | ------------------------- |
661| callback | AsyncCallback\<string> | 是   | 回调函数,可以在回调函数中处理接口返回值,返回Ability或应用的分布式文件路径。如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径。|
662
663**示例:**
664
665```js
666import featureAbility from '@ohos.ability.featureAbility'
667var context = featureAbility.getContext();
668context.getOrCreateDistributedDir((err, data) => {
669    if (err) {
670        console.error('Operation failed. Cause: ' + JSON.stringify(err));
671        return;
672    }
673    console.info('Operation successful. Data:' + JSON.stringify(data));
674});
675```
676
677## Context.getOrCreateDistributedDir
678
679getOrCreateDistributedDir(): Promise\<string>
680
681获取Ability或应用的分布式文件路径。
682
683如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(Promise形式)。
684
685**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
686
687**返回值:**
688
689| 类型            | 说明                      |
690| --------------- | ------------------------- |
691| Promise\<string> | Ability或应用的分布式文件路径。如果是第一次调用,则将创建目录。 |
692
693**示例:**
694
695```js
696import featureAbility from '@ohos.ability.featureAbility'
697var context = featureAbility.getContext();
698context.getOrCreateDistributedDir().then((data) => {
699    console.info("====>data====>" + JSON.stringify(data));
700});
701```
702
703## Context.getAppType
704
705getAppType(callback: AsyncCallback\<string>): void
706
707获取此应用的类型(callback形式)。
708
709**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
710
711**参数:**
712
713| 名称     | 类型                   | 必填 | 描述                      |
714| -------- | ---------------------- | ---- | ------------------------- |
715| callback | AsyncCallback\<string> | 是   | 回调函数,可以在回调函数中处理接口返回值,返回此应用程序的类型。|
716
717**示例:**
718
719```js
720import featureAbility from '@ohos.ability.featureAbility'
721var context = featureAbility.getContext();
722context.getAppType((err, data) => {
723    if (err) {
724        console.error('Operation failed. Cause: ' + JSON.stringify(err));
725        return;
726    }
727    console.info('Operation successful. Data:' + JSON.stringify(data));
728});
729```
730
731## Context.getAppType
732
733getAppType(): Promise\<string>
734
735获取此应用的类型(Promise形式)。
736
737**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
738
739**返回值:**
740
741| 类型            | 说明                      |
742| --------------- | ------------------------- |
743| Promise\<string> | Promise形式返回此应用的类型。 |
744
745**示例:**
746
747```js
748import featureAbility from '@ohos.ability.featureAbility'
749var context = featureAbility.getContext();
750context.getAppType().then((data) => {
751    console.info("====>data====>" + JSON.stringify(data));
752});
753```
754
755## Context.getHapModuleInfo
756
757getHapModuleInfo(callback: AsyncCallback\<HapModuleInfo>): void
758
759获取应用的ModuleInfo对象(callback形式)。
760
761**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
762
763**参数:**
764
765| 名称     | 类型                   | 必填 | 描述                      |
766| -------- | ---------------------- | ---- | ------------------------- |
767| callback | AsyncCallback\<[HapModuleInfo](#hapmoduleinfo)> | 是   | 回调函数,可以在回调函数中处理接口返回值,返回应用的ModuleInfo对象。|
768
769**示例:**
770
771```js
772import featureAbility from '@ohos.ability.featureAbility'
773var context = featureAbility.getContext();
774context.getHapModuleInfo((err, data) => {
775    if (err) {
776        console.error('Operation failed. Cause: ' + JSON.stringify(err));
777        return;
778    }
779    console.info('Operation successful. Data:' + JSON.stringify(data));
780});
781```
782
783## Context.getHapModuleInfo
784
785getHapModuleInfo(): Promise\<HapModuleInfo>
786
787获取应用的ModuleInfo对象(Promise形式)。
788
789**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
790
791**返回值:**
792
793| 类型            | 说明                      |
794| --------------- | ------------------------- |
795| Promise\<[HapModuleInfo](#hapmoduleinfo)> | Promise形式返回应用的ModuleInfo对象。 |
796
797**示例:**
798
799```js
800import featureAbility from '@ohos.ability.featureAbility'
801var context = featureAbility.getContext();
802context.getHapModuleInfo().then((data) => {
803    console.info("====>data====>" + JSON.stringify(data));
804});
805```
806
807## Context.getAppVersionInfo
808
809getAppVersionInfo(callback: AsyncCallback\<HapModuleInfo>): void
810
811获取应用的版本信息(callback形式)。
812
813**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
814
815**参数:**
816
817| 名称     | 类型                   | 必填 | 描述                      |
818| -------- | ---------------------- | ---- | ------------------------- |
819| callback | AsyncCallback\<[AppVersionInfo](#appversioninfo)> | 是   | 回调函数,可以在回调函数中处理接口返回值,返回应用版本信息。|
820
821**示例:**
822
823```js
824import featureAbility from '@ohos.ability.featureAbility'
825var context = featureAbility.getContext();
826context.getAppVersionInfo((err, data) => {
827    if (err) {
828        console.error('Operation failed. Cause: ' + JSON.stringify(err));
829        return;
830    }
831    console.info('Operation successful. Data:' + JSON.stringify(data));
832});
833```
834
835## Context.getAppVersionInfo
836
837getAppVersionInfo(): Promise\<AppVersionInfo>
838
839获取应用的版本信息(Promise形式)。
840
841**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
842
843**返回值:**
844
845| 类型            | 说明                      |
846| --------------- | ------------------------- |
847| Promise\<[AppVersionInfo](#appversioninfo)> | 返回应用版本信息。 |
848
849**示例:**
850
851```js
852import featureAbility from '@ohos.ability.featureAbility'
853var context = featureAbility.getContext();
854context.getAppVersionInfo().then((data) => {
855    console.info("====>data====>" + JSON.stringify(data));
856});
857```
858
859## Context.getAbilityInfo
860
861getAbilityInfo(callback: AsyncCallback\<AbilityInfo>): void
862
863查询当前归属Ability详细信息(callback形式)。
864
865**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
866
867**参数:**
868
869| 名称     | 类型                   | 必填 | 描述                      |
870| -------- | ---------------------- | ---- | ------------------------- |
871| callback | AsyncCallback\<[AbilityInfo](#abilityInfo)> | 是   |回调函数,可以在回调函数中处理接口返回值,返回当前归属Ability详细信息。|
872
873**示例:**
874
875```js
876import featureAbility from '@ohos.ability.featureAbility'
877var context = featureAbility.getContext();
878context.getAbilityInfo((err, data) => {
879    if (err) {
880        console.error('Operation failed. Cause: ' + JSON.stringify(err));
881        return;
882    }
883    console.info('Operation successful. Data:' + JSON.stringify(data));
884});
885```
886
887## Context.getAbilityInfo
888
889getAbilityInfo(): Promise\<AbilityInfo>
890
891查询当前归属Ability详细信息(Promise形式)。
892
893**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
894
895**返回值:**
896
897| 类型            | 说明                      |
898| --------------- | ------------------------- |
899| Promise\<[AbilityInfo](#abilityInfo)> | 返回当前归属Ability详细信息。 |
900
901**示例:**
902
903```js
904import featureAbility from '@ohos.ability.featureAbility'
905var context = featureAbility.getContext();
906context.getAbilityInfo().then((data) => {
907    console.info("====>data====>" + JSON.stringify(data));
908});
909```
910
911## Context.getApplicationContext
912
913getApplicationContext(): Context
914
915获取应用上下文信息。
916
917**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
918
919**返回值:**
920
921| 类型      | 说明   |
922| --------- |------ |
923|  Context |返回应用上下文信息。 |
924
925**示例:**
926
927```js
928import featureAbility from '@ohos.ability.featureAbility'
929var context = featureAbility.getContext().getApplicationContext();
930```
931
932## Context.getExternalCacheDir
933
934getExternalCacheDir(callback: AsyncCallback\<string>): void
935
936获取应用程序的外部缓存目录(callback形式)。
937
938**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
939
940**参数:**
941
942| 名称       | 类型                     | 必填   | 描述                 |
943| -------- | ---------------------- | ---- | ------------------ |
944| callback | AsyncCallback\<string> | 是    | 返回应用程序的缓存目录的绝对路径。 |
945
946**示例:**
947
948```js
949import featureAbility from '@ohos.ability.featureAbility'
950var context = featureAbility.getContext();
951context.getExternalCacheDir()
952```
953
954## Context.getExternalCacheDir
955
956getExternalCacheDir(): Promise\<string>;
957
958获取应用程序的外部缓存目录(Promise形式)。
959
960**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
961
962**返回值:**
963
964| 类型               | 说明               |
965| ---------------- | ---------------- |
966| Promise\<string> | 返回应用程序的缓存目录的绝对路径。 |
967
968**示例:**
969
970```js
971import featureAbility from '@ohos.ability.featureAbility'
972var context = featureAbility.getContext();
973context.getExternalCacheDir().then((data) => {
974    console.info("=======================>getExternalCacheDirCallback====================>");
975    console.info("====>data====>" + JSON.stringify(data));
976});
977```
978
979## PermissionOptions
980
981**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
982
983| 名称 | 读写属性 | 类型   | 必填 | 描述   |
984| ---- | -------- | ------ | ---- | ------ |
985| pid  | 只读     | number | 否   | 进程id。 |
986| uid  | 只读     | number | 否   | 用户id。 |
987
988## PermissionRequestResult
989
990**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
991
992| 名称        | 读写属性 | 类型           | 必填 | 描述               |
993| ----------- | -------- | -------------- | ---- | ------------------ |
994| requestCode | 只读     | number         | 是   | 用户传入的请求代码。 |
995| permissions | 只读     | Array\<string> | 是   | 用户传入的权限。     |
996| authResults | 只读     | Array\<number> | 是   | 请求权限的结果。    |
997
998## HapModuleInfo
999
1000Hap模块信息
1001
1002| 名称               | 类型 | 可读 | 可写 | 说明 |
1003| ------ | ------ | ------ | ------ | ------ |
1004| name             | string        | 是   | 否   | 模块名称           |
1005| description      | string        | 是   | 否   | 模块描述信息       |
1006| descriptionId    | number        | 是   | 否   | 描述信息ID         |
1007| icon             | string        | 是   | 否   | 模块图标           |
1008| label            | string        | 是   | 否   | 模块标签           |
1009| labelId          | number        | 是   | 否   | 模块标签ID         |
1010| iconId           | number        | 是   | 否   | 模块图标ID         |
1011| backgroundImg    | string        | 是   | 否   | 模块背景图片       |
1012| supportedModes   | number        | 是   | 否   | 模块支持的模式     |
1013| reqCapabilities  | Array\<string> | 是   | 否   | 模块运行需要的能力 |
1014| deviceTypes      | Array\<string> | 是   | 否   | 支持运行的设备类型 |
1015| abilityInfo      | Array\<AbilityInfo> | 是   | 否   | Ability信息        |
1016| moduleName       | string        | 是   | 否   | 模块名             |
1017| mainAbilityName  | string        | 是   | 否   | 入口Ability名称    |
1018| installationFree | boolean       | 是   | 否   | 是否支持免安装     |
1019| mainElementName | string | 是 | 否 | 入口ability信息 |
1020
1021## AppVersionInfo
1022
1023| 名称             | 类型 | 可读    | 可写   | 说明 |
1024| ------          | ------ | ------| ------ | ------    |
1025| appName         | string | 是    | 否     | 模块名称      |
1026| versionCode     | number | 是    | 否     | 模块描述信息   |
1027| versionName     | string | 是    | 否     | 描述信息ID     |
1028