本章节介绍拉起系统应用的方式,以及支持跳转系统应用的能力清单。
拉起系统应用除了使用前面章节介绍的方式(比如使用openLink拉起指定应用、使用startAbilityByType指定类型的应用),还可以采用如下方式。
使用系统Picker组件
相机、文件管理、联系人等系统应用提供了系统Picker组件,支持开发者无需申请权限、即可使用系统应用的一些常用功能,比如访问用户的资源文件。
应用拉起系统Picker组件(文件选择器、照片选择器、联系人选择器等)后,由用户在Picker上选择对应的文件、照片、联系人等资源,应用即可获取到Picker的返回结果。例如,一个音频播放器应用可以通过AudioViewPicker让用户选择音频文件,然后获取所选的音频文件路径进行播放。
由于系统Picker已经获取了对应权限的预授权,开发者使用系统Picker时,无需再次申请权限也可临时受限访问对应的资源。例如,当应用需要读取用户图片时,可通过使用照片Picker,在用户选择所需要的图片资源后,直接返回该图片资源,而不需要授予应用读取图片文件的权限。
系统Picker由系统独立进程实现。
使用特定接口
设置、电话、日历等应用提供了一些接口,通过这些接口可以直接跳转系统应用。
当前支持直接拉起设置应用中如下功能界面,未列出的暂不支持。
权限设置: 当应用通过requestPermissionsFromUser()接口拉起权限申请弹框时,如果用户拒绝授权,将无法使用该接口再次拉起弹框,需要调用requestPermissionOnSetting接口拉起权限设置弹窗。
二次向用户申请授权介绍了如何拉起权限设置弹窗。该文档中的示例代码同样适用于应用权限组列表中的所有权限,只需将对应的权限名进行替换即可。以下为开发者经常用到的一些场景。
通知管理: 当应用通过requestEnableNotification()接口拉起通知授权弹框时,如果用户拒绝授权,将无法使用该接口再次拉起弹框,需要调用openNotificationSettingsWithResult()接口,支持拉起通知管理弹窗。
网络管理: 当应用需要通过WLAN连接网络时,可以通过openNetworkManagerSettings()接口拉起WLAN设置弹窗。