• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 拉起系统应用
2
3<!--Kit: Ability Kit-->
4<!--Subsystem: Ability-->
5<!--Owner: @huipeizi-->
6<!--Designer: @ccllee1-->
7<!--Tester: @lixueqing513-->
8<!--Adviser: @huipeizi-->
9
10本章节介绍拉起系统应用的方式,以及支持跳转系统应用的能力清单。
11
12## 拉起系统应用的方式
13
14拉起系统应用除了采用使用前面章节介绍的方式(比如使用openLink拉起指定应用、使用startAbilityByType指定类型的应用),还可以采用如下方式。
15
16- **使用系统Picker组件**
17
18    相机、文件管理、联系人等系统应用提供了系统Picker组件,支持开发者无需申请权限、即可使用系统应用的一些常用功能,比如访问用户的资源文件。
19
20    应用拉起系统Picker组件(文件选择器、照片选择器、联系人选择器等)后,由用户在Picker上选择对应的文件、照片、联系人等资源,应用即可获取到Picker的返回结果。例如,一个音频播放器应用可以通过AudioViewPicker让用户选择音频文件,然后获取所选的音频文件路径进行播放。
21
22    > **说明:**
23    > 由于系统Picker已经获取了对应权限的预授权,开发者使用系统Picker时,无需再次申请权限也可临时受限访问对应的资源。例如,当应用需要读取用户图片时,可通过使用照片Picker,在用户选择所需要的图片资源后,直接返回该图片资源,而不需要授予应用读取图片文件的权限。
24    >
25    > 系统Picker由系统独立进程实现。
26
27
28- **使用特定接口**
29
30    设置、电话、日历等应用提供了一些接口,通过这些接口可以直接跳转系统应用。
31
32## 支持跳转系统应用的能力清单
33
34### 设置
35
36当前支持直接拉起设置应用中如下功能界面,未列出的暂不支持。
37- **权限设置:** 当应用通过[requestPermissionsFromUser()](../reference/apis-ability-kit/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9)接口拉起权限申请弹框时,如果用户拒绝授权,将无法使用该接口再次拉起弹框,需要调用[requestPermissionOnSetting](../reference/apis-ability-kit/js-apis-abilityAccessCtrl.md#requestpermissiononsetting12)接口拉起权限设置弹窗。
38
39  [二次向用户申请授权](../security/AccessToken/request-user-authorization-second.md)介绍了如何拉起权限设置弹窗。该文档中的示例代码同样适用于[应用权限组列表](../security/AccessToken/app-permission-group-list.md)中的所有权限,只需将对应的权限名进行替换即可。以下为开发者经常用到的一些场景。
40
41    - 拉起位置权限设置弹窗
42    - 拉起相机权限设置弹窗
43    - 拉起图片与视频权限设置弹窗
44    - 拉起音乐和音频权限设置弹窗
45    - 拉起通讯录权限设置弹窗
46    - 拉起日历权限设置弹窗
47
48
49- **通知管理:** 当应用通过[requestEnableNotification()](../reference/apis-notification-kit/js-apis-notificationManager.md#notificationmanagerrequestenablenotification10)接口拉起通知授权弹框时,如果用户拒绝授权,将无法使用该接口再次拉起弹框,需要调用[openNotificationSettings()](../reference/apis-notification-kit/js-apis-notificationManager.md#notificationmanageropennotificationsettings13)接口,支持拉起通知管理弹窗。
50
51
52
53<!--RP1-->
54<!--RP1End-->
55
56
57### 电话
58[Telephony Kit](../telephony/telephony-overview.md)提供[makeCall()](../reference/apis-telephony-kit/js-apis-call.md#callmakecall7)接口,支持跳转到拨号界面,并显示待拨出的号码。
59
60### 日历
61[Calendar Kit](../calendarmanager/calendarmanager-overview.md)提供[addEvent](../reference/apis-calendar-kit/js-apis-calendarManager.md#addevent)接口,用于创建日程。
62
63
64
65### 联系人
66[Contacts Kit](../contacts/contacts-intro.md)提供联系人Picker(Contacts Picker),用于拉起联系人应用,读取联系人数据。详见[选择联系人](../contacts/contacts-intro.md#使用picker选择联系人)。
67
68<!--RP2-->
69### 相机
70
71[Camera Kit](../media/camera/camera-overview.md)提供了相机Picker (Camera Picker),用于拍照、录像。详见[通过系统相机拍照和录像](../media/camera/camera-picker.md)。
72<!--RP2End-->
73
74### 文件管理
75[Core File Kit](../file-management/core-file-kit-intro.md)提供了文件Picker和音频Picker。
76- 文件Picker(DocumentViewPicker):用于访问、保存公共目录中文档类文件。详见[选择文档类文件](../file-management/select-user-file.md#选择文档类文件)、[保存文档类文件](../file-management/save-user-file.md#保存文档类文件)。
77- 音频Picker(AudioViewPicker):用于访问、保存公共目录的音频文件。详见[选择音频类文件](../file-management/select-user-file.md#选择音频类文件)、[保存音频类文件](../file-management/save-user-file.md#保存音频类文件)。
78
79### 图库(媒体库)
80[Media Library Kit](../media/medialibrary/photoAccessHelper-overview.md)提供了照片Picker(PhotoViewPicker),用于访问、保存公共目录的图片或视频文件。详见[选择媒体库资源](../media/medialibrary/photoAccessHelper-photoviewpicker.md) 、[创建媒体资源](../media/medialibrary/photoAccessHelper-savebutton.md)。
81
82<!--RP3-->
83<!--RP3End-->
84
85
86
87
88
89