赞
踩
自己的第一篇关于鸿蒙系统的文章,本篇文章主要说的是鸿蒙系统权限的申请
提示:如果文章有什么问题欢迎指正,华为官方权限申请文档:开发-权限指导
安卓的权限申请过程是:先清单文件中静态声明,再根据是否需要版本适配,在代码中动态申请权限。
而ohos系统也类似于这个过程,不过它的权限申请起来稍微繁琐点,并且动态代码申请是必须有的。
打开config.json文件,再该文件中进行权限的声明。
我们这里申请的是相机权限,其他权限可以去官方文档找。
config.json代码如下(示例):
你如果想申请多个权限,依次用{}隔开就行。
"module": { "reqPermissions": [ { "name": "ohos.permission.CAMERA", "reason": "需要拍摄照片", "usedScene":{ "ability": ["com.example.helloworld.MainAbility"], "when": "always" } } ],{ ... } ] } }
①name:根据自己所需要的权限找到对应的名字。
②reason:如果申请的是user_grant权限则必须要填,可以让用户看你需要权限的理由。
③usedScene中:ability:输入 可以使用的ability路径名;when:使用时间
代码如下(示例):
if (verifySelfPermission("ohos.permission.CAMERA") != IBundleManager.PERMISSION_GRANTED) {
//应用权限未被授予
if (canRequestPermission("ohos.permission.CAMERA")) {
//验证是否可以申请弹窗授权(首次申请或者用户未选择禁止且不再提示)
requestPermissionsFromUser(new String[]{"ohos.permission.CAMERA"}, MY_PERMISSION_REQUEST_CAMERA);
} else {
//显示应用权限需要权限的理由,提示用户进入设置授权
new ToastDialog(this).setText("请前往设置授予相机限").setDuration(2000).show();
}
} else {
new ToastDialog(this).setText("相机权限已被授予").setDuration(2000).show();
}
最后要注意的地方就是DevEcoStudio自带的ToastDialog。使用它的时候一定要记得给他设置延长时间(setDuration()),否则将会出现不显示等问题。
new ToastDialog(this).setText("请前往设置授予相机限").setDuration(2000).show();
提示:这里对文章进行总结:
以上就是这篇博客的全部内容,初次学习鸿蒙系统,有问题请评论区多多指教。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。