
回复
一、权限申请的步骤
当我们申请一个需要用户授权的权限时,需要做以下工作
(1)判断是否授权了权限
(2)申请权限
(3)对于拒绝授权的情况,需要二次弹出配置权限弹窗
(4)用户拒绝授权时,应用页面需要展示提示语
每次申请权限都要进行这么多步骤的操作过于繁琐,那么写一个工具类就有必要了。初步实现效果为调用申请权限的静态方法,回调授权成功或者失败,失败就展示提示语。
二、效果展示
如图为点击开启权限,首先拒绝授权,页面出现提示语;再次点击授权,出现设置权限弹窗,此时选择不允许,提示语依然存在;再点击按钮,此时选择允许,提示语消失,授权成功
三、关键代码逻辑
(1)检查权限授权与否
(2)根据authResults和dialogShownResults判断是否授权成功,是否需要弹出设置权限弹窗
(3)根据权限设置弹窗返回值判断是否授权成功
四、完整代码
PermissionUtil.ets
Index.ets