鸿蒙里的权限
鸿蒙的权限可以分成三类:
开放权限:system_grant, 比如 INTERNET网络权限、VIBRATE 手机震动权限等。无需用户同意。具体可见 开放权限(系统授权)
用户授权:user_grant,弹窗询问用户是否允许位置定位、发送通知等。具体可见 开放权限(用户授权)
敏感权限:需要在华为后台单独填写表格申请获得,比如修改用户公共目录文件、API 读取剪切板等。具体可见 受限开放权限
还有一些针对特定企业管理的权限,场景比较特殊,这里不做进一步描述。
细节可以看文档 《鸿蒙权限配置指南》
如何定义权限
举例定位中用到的模糊定位、精准定位。需要参考文档,在 requestPermissions
如何查询权限是否授权?
const auth = () => {
const res = uni.getAppAuthorizeSetting()
console.log(res)
}
如何主动申请用户授权特定的权限?
先见 uts-api 鸿蒙插件,填写下面代码, uni_modules/harmony-harmony/utssdk/app-harmony/index.uts
import { abilityAccessCtrl, Permissions } from '@kit.AbilityKit';
export const requestSystemPermission = () => {
const permissionList : Array<Permissions> = ['ohos.permission.APPROXIMATELY_LOCATION']
UTSHarmony.requestSystemPermission(permissionList, (allRight : boolean, grantedList : Array<string>) => {
console.log('res', allRight, grantedList);
}, (doNotAskAgain : boolean, grantedList : Array<string>) => {
console.log('fail', doNotAskAgain, grantedList);
})
}
在 vue 代码中这样使用
<script setup lang="uts">
import { requestSystemPermission } from '@/uni_modules/harmony-harmony'
const permisson = () => {
requestSystemPermission()
}
</script>
如何打开系统设置?
可引导用户打开设置重新授权。
uni.openAppAuthorizeSetting()
https://uniapp.dcloud.net.cn/api/system/openappauthorizesetting.html
0 个评论
要回复文章请先登录或注册