丹凤千字科普:电脑软件的联网权限(详细资料介绍)


丹凤千字科普:电脑软件的联网权限(详细资料介绍)  

鸿蒙系统下的应用开发中,关于系统权限的申请和管理是一个重要的环节。本期文章以获取定位信息为例,介绍如何在鸿蒙系统中申请系统权限并引导用户授权。

一、鸿蒙应用开发中系统权限的重要性

在鸿蒙应用的开发过程中,为了提供设备访问或个性化功能,如扫一扫、城市定位、剪贴板等,常常需要申请系统权限。这些权限的申请和管理,保障了应用功能的完整性。

二、应用如何申请系统权限与引导用户授权

1. 用户首次拒绝授权:当应用首次请求定位权限时,如果用户选择拒绝,应用需要通过弹窗提示,明确告知用户该权限的作用和使用场景,然后再次引导用户前往设置页进行授权。

2. 用户使用期间取消定位授权:在应用使用过程中,如果用户自行取消了定位权限的授权,应用需要检测并处理这种情况。当使用定位功能时,应用应检查定位权限的状态,如果权限被取消,则进行弹窗提示,引导用户前往应用设置页手动开启该权限。

3. 系统定位未开启:如果用户的设备未开启系统定位功能,应用需要引导用户前往系统设置页手动开启定位权限。

三、鸿蒙系统中权限申请的具体实现

1. 拉起授权弹窗:在鸿蒙系统中,使用 AtManager 授权权限的前提是在模块的 module.json5 文件中添加权限。当应用需要拉起系统权限的申请弹窗时,可以通过调用相关接口实现。

2. 跳转至应用设置页:当应用检测到用户拒绝或取消定位权限时,可以通过配置 want 信息,使用 startAbility 进行跳转,打开应用设置页面。

3. 跳转至系统设置页:当应用需要引导用户前往系统设置页时,同样可以通过配置 want 信息,使用 startAbility 进行跳转。

四、如何检查系统定位或app定位权限未开启

1. 检查系统定位未开启:获取位置信息需要使用 geoLocationManager 模块的 getCurrentLocation 方法。在使用该方法前,通过 try-catch 捕获代码异常。若系统权限未开启,直接进入 catch 回调中并返回报错原因。

2. 检查app定位权限未允许:若系统定位已开启,但app定位权限未允许,在调用 getCurrentLocation 后会进入 Promise 的 .catch() 失败回调中。此时可以根据错误码判断app权限是否开启。

五、示例代码及注意事项

本文提供了关于鸿蒙系统中申请定位权限的示例代码。在申请权限时,需要注意并非所有权限都需要拉起弹窗授权,如网络权限只需在 module.json5 中配置即可。而像定位、相机、日历等权限则需要用户手动授权,此时需要按照官方文档的描述进行开发。在拉起系统弹窗授权前,需自行弹窗告知用户接下来要授权的权限的作用和使用场景,得到用户确认后才可进行系统权限的授权操作。这是应用上架应用市场时的审核要求之一。

关于信息uri字段与设置页面的对应表

一、字段概览

在拉起界面时,我们需要关注手机设备是否支持以及2in1设备是否支持相应功能。

二、具体设置页面的对应关系

1. HOME-设置:对应的是设备的通用设置页面,无论是手机还是其他设备,此项都是必要的。

2. wifi_entry:对应的是HOME-WLAN设置,涉及到无线网络的相关配置。

3. bluetooth_entry:对应的是HOME-蓝牙设置,管理设备的蓝牙功能。

4. mobile_network_entry:对应的是HOME-移动网络设置,包括移动数据、运营商等设置。

5. hotspot_data_settings:进入HOME-移动网络中的个人热点界面,用于设置热点数据。

6. password_entry:在个人热点界面下,进入密码设置页,用于设置热点的连接密码。

7. connected_device_entry:在个人热点界面下,进入已连接设备界面,查看已连接的设备。

8. more_share_entry:在更多共享设置界面,进行更多共享相关的配置。

9. more_connections_settings:进入HOME-更多连接页面,包括NFC、蓝牙等相关设置。

10. nfc_settings:在更多连接中,进入NFC三级页面,进行NFC相关配置。

11. display_settings:对应的是HOME-显示和亮度设置,包括屏幕大小、刷新率等。

12. screen_zoom:在显示和亮度设置中,进入显示大小三级页面。

13. screen_refresh_rate_entry:在显示和亮度设置中,进入屏幕刷新率三级页面,需看具体设备是否有此选项。

14. volume_settings:对应的是HOME-声音和振动设置。

15. systemui_notification_settings:进入HOME-通知和状态栏设置页面。

16. accessibility_feature:对应的是HOME-辅助功能设置。

17. accessibility_operation_entry:在辅助功能中,进入辅助功能快捷键三级页面。

18. accessibility_more_settings_entry:进入已安装的服务中的服务详情,再进入更多设置五级页面。

19. application_and_service_settings:对应的是HOME-应用与元服务设置。

20. application_settings:在应用与服务中,进入应用管理三级页面。

21. application_info_entry:针对某个具体应用,传递其应用信息,want.parameters.pushParams为具体应用的包名。

22. storage_settings:对应的是HOME-存储界面,进行存储相关的配置。

23. battery:对应的是HOME-电池设置,进行电池相关的配置。

24. biometrics_and_password_settings:进入HOME-生物识别和密码设置页面,包括指纹、面部识别等。

25. lock_screen_password_title:在生物识别和密码设置中,设置数字锁屏密码。

26. change_six_to_number_entry和change_six_to_mixed_entry:分别在生物识别和密码设置中,进入自定义数字密码和混合密码设置页面。

27. fingerprint_settings_entry:在生物识别与密码中,进入指纹设置的3级页面,需看具体设备是否支持指纹解锁能力。

28. privacy_settings:对应的是HOME-隐私与安全设置,包括定位服务、应用权限等。

29. location_help_entry:在隐私与安全设置中,进入定位服务的帮助页面。

30. users_accounts:对应的是HOME-用户和账户设置,管理用户账户相关信息。

31. current_user:在用户账户设置中,进入当前登录(用户)三级页面。

32. system_and_updates:对应的是HOME-系统和更新设置,包括日期时间、输入法等。

33. time_zone_settings:在系统和更新中,进入时区选择列表页面。

34. date_and_time:在系统和更新设置中,进入日期时间三级页面。

35. set_input:在系统和更新中,进入输入法设置页面。

36. set_language:在系统和更新中,进入语言和输入法四级页面。

37. set_language_region:进一步进入语言和地区五级页面。

38. reset_settings:在系统和更新中,进入重置三级页面,包括恢复出厂设置、还原网络设置等。

  丹凤千字科普:电脑软件的联网权限(详细资料介绍)