HarmonyOS 鸿蒙Next 关闭APP相机权限后使用photoAccessHelper.PhotoViewPicker()组件仍可打开相机拍照
HarmonyOS 鸿蒙Next 关闭APP相机权限后使用photoAccessHelper.PhotoViewPicker()组件仍可打开相机拍照
此时用以下代码,打开相册页面,点击左上角的拍照入口,有没有办法识别当前APP未开启相机权限,可拦截住不打开相机页面?
//打开相册
const photoViewPicker = new photoAccessHelper.PhotoViewPicker();
const photoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
photoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
photoSelectOptions.maxSelectNumber = 1;
photoViewPicker.select(photoSelectOptions).then(async (photoSelectResult: picker.PhotoSelectResult) => {
let selectUris: Array<string> = photoSelectResult.photoUris;
hilog.info(HiLogType.webSDK.domain, HiLogType.webSDK.tag,
“photoViewPicker.select to file succeed and uris are: %{public}s”, selectUris)
if (selectUris.length > 0) {
this.getBase64Image(selectUris[0], fuctionName)
} else {
this.requestFailure(fuctionName)
}
}).catch((err: BusinessError) => {
this.requestFailure(fuctionName)
hilog.info(HiLogType.webSDK.domain, HiLogType.webSDK.tag,
“Invoke photoViewPicker.select failed, code is %{public}s, message is %{public}s”, err.code, err.message)
})
更多关于HarmonyOS 鸿蒙Next 关闭APP相机权限后使用photoAccessHelper.PhotoViewPicker()组件仍可打开相机拍照的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
Camera Kit https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/camera-kit-V5
获取已授权的权限列表可使用bundleManager.getBundleInfoForSelfSync
是想要什么代码,使用Camera Kit拉起相机的代码吗
使用Camera kit实现相机拍照可参考完整示例:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/camera-shooting-case-V5
更多关于HarmonyOS 鸿蒙Next 关闭APP相机权限后使用photoAccessHelper.PhotoViewPicker()组件仍可打开相机拍照的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next系统中,若已关闭APP的相机权限,理论上photoAccessHelper.PhotoViewPicker()
组件应无法直接打开相机进行拍照。此行为违背了权限管理机制,即用户明确拒绝权限后,应用不应绕过此限制访问相机。
可能的原因包括:
- 系统或应用存在漏洞,导致权限管理未严格执行。
photoAccessHelper.PhotoViewPicker()
组件内部实现有异常,未正确检查权限状态。- 权限管理策略在特定版本或特定条件下被绕过。
解决方案:
- 确认APP已正确请求并处理相机权限,包括在权限被拒绝时的逻辑处理。
- 检查
photoAccessHelper.PhotoViewPicker()
组件的官方文档或源码,确认其权限检查逻辑。 - 尝试更新HarmonyOS系统至最新版本,以修复可能的系统漏洞。
- 重启设备,有时权限状态可能因系统缓存问题未即时更新。
若上述步骤无法解决问题,表明可能是系统或组件的深层次问题。此时,建议直接联系官方客服进行反馈,以便开发者或系统维护团队进行修复。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html