HarmonyOS鸿蒙Next中关于权限申请的简单应用
HarmonyOS鸿蒙Next中关于权限申请的简单应用 应用开发中,往往需要进行权限的动态申请,并由于安全问题,一些敏感权限仅能在使用时由用户授权访问。
现在较为常见的高敏感权限例如定位,摄像头,wifi 信息等,这类型的权限主要在官方文档 应用权限组列表 中,
而常用的摄像头拍摄并返回图片的功能中,我们需要 2 个用户授予的动态权限:
ohos.permission.CAMERA 以及 ohos.permission.READ_IMAGEVIDEO
下面这个简单的例子可以打开摄像头并返回图片
import abilityAccessCtrl from '@ohos.abilityAccessCtrl'
/**
* 打开摄像头拍照并返回图片
*/
takePhoto() {
// 获取上下文
const context = this as common.UIAbilityContext
// 申请受限权限
await abilityAccessCtrl.createAtManager()
.requestPermissionsFromUser(context, ['ohos.permission.CAMERA', 'ohos.permission.READ_IMAGEVIDEO'])
// 打开相机拍照
const result = await context.startAbilityForResult({ action: "ohos.want.action.imageCapture" })
// 返回照片uri
return result.want.uri
}
当然了,最新版本的 Picker 组件,可以快速并且不需要受限权限的方式,让我们拉起系统图片应用选择界面
let uris: Array<string> = [];
const photoViewPicker = new photoAccessHelper.PhotoViewPicker();
photoViewPicker.select(photoSelectOptions).then((photoSelectResult: photoAccessHelper.PhotoSelectResult) => {
uris = photoSelectResult.photoUris;
console.info('photoViewPicker.select to file succeed and uris are:' + uris);
}).catch((err: BusinessError) => {
console.error(`Invoke photoViewPicker.select failed, code is ${err.code}, message is ${err.message}`);
})
这样就可以和鸿蒙系统更加快捷并且无敏感授权的情况在进行图片获取。
在用户体验上,鸿蒙 Next 确实是下了不少功夫的,为贴心的官方点赞👍
更多关于HarmonyOS鸿蒙Next中关于权限申请的简单应用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,权限申请是确保应用安全和用户隐私的重要环节。开发者需要在应用的配置文件中声明所需的权限,并在运行时通过requestPermissionsFromUser方法动态申请权限。例如,若应用需要访问相机,需在config.json中声明ohos.permission.CAMERA权限,并在代码中调用requestPermissionsFromUser方法。用户同意后,应用方可使用相关功能。权限管理遵循最小化原则,仅申请必要的权限,确保用户数据安全。


