华为手机的后置摄像头想要实现扫码功能,必须要开启后置摄像头的预览画面也就是拍摄画面,而后置摄像头的使用也需要开启相应的权限才行,比如手机相机的敏感类型权限ohos.permission.CAMERA 。
下面,我们一起在自己的APP项目中来实现相机权限-ohos.permission.CAMERA的获取和开启 。
一.打开项目中的配置文件config.json , 通过“reqPermissions”字段声明相机相关的权限 。
文章插图
二.在MainAbilitySlice类中,使用requestPermissionFromUser来动态申请相机的权限 。public class MainAbilitySlice extends AbilitySlice {public static final int MY_PERMISSIONS_REQUEST_CAMERA = 1039;@Overridepublic void onStart(intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);requestCameraPermission();}//1.获取相机权限public void requestCameraPermission(){if (verifySelfPermission("ohos.permission.CAMERA") != IBundleManager.PERMISSION_GRANTED) {// 应用未被授予权限if (canRequestPermission("ohos.permission.CAMERA")) {// 是否可以申请弹框授权(首次申请或者用户未选择禁止且不再提示)requestPermissionsFromUser(new String[] { "ohos.permission.CAMERA" } , MY_PERMISSIONS_REQUEST_CAMERA);} else {// 显示应用需要权限的理由 , 提示用户进入设置授权new ToastDialog(getContext()).setText("请进入手机系统【设置】中 , 重新开启应用的相机权限").show();}} else {// 权限已成功被授予new ToastDialog(getContext()).setText("已授权,可使用相机的拍摄功能").show();//相机预览界面//addQrLayout();}}}三.在MainAbility中,通过onRequestPermissionsFromUserResult回调函数来接收授予相机权限的结果 。public class MainAbility extends Ability {private static final int PERMISSION_REQUEST_CODE = MainAbilitySlice.MY_PERMISSIONS_REQUEST_CAMERA;@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setMainRoute(MainAbilitySlice.class.getName());}//调用requestPermissionsFromUser后的权限申请应答@Overridepublic void onRequestPermissionsFromUserResult(int requestCode, String[] permissions, int[] grantResults) {switch (requestCode){case PERMISSION_REQUEST_CODE: {if (grantResults.length > 0 && grantResults[0] == IBundleManager.PERMISSION_GRANTED){new ToastDialog(getContext()).setText("此应用已授权,可进行相机的拍摄").show();}else{new ToastDialog(getContext()).setText("权限被拒绝").show();}return;}}}}四.进行项目的真机测试 , 查看项目的APP是否有相关权限内容的提示,如果有相关提示框出现则表示手机的摄像头使用权限可以进行开通 。
文章插图
【鸿蒙摄像头调用,鸿蒙应用程序读取相册权限】如果APP在打开之后,出现上图所示的提示框,我们选择并点击“仅使用期间允许”按钮,即可真正开通手机相机功能的权限 。
结语:手机实现扫码的第一步需要开通相机功能相关的权限,比如ohos.permission.CAMERA权限 。而后置摄像头之所以能正常进行画面的拍摄 , 需要在APP初次安装时去启动并获取相机功能给予的权限,保证在后面进行拍摄时其画面不出现“黑屏” 。
- 华为鸿蒙系统快速打开健康码,华为鸿蒙系统最新版本功能
- 华为鸿蒙系统多机位怎么弄,华为鸿蒙进入工程模式
- 升级鸿蒙后高清通话,华为鸿蒙系统高清通话怎么开启
- 华为鸿蒙系统快捷栏怎么设置,华为鸿蒙操作界面怎么设置
- 华为手机提示升级鸿蒙系统,华为手机升级鸿蒙的各功能
- 华为P10Plus鸿蒙回退Emui安卓教程官方操作系统
- 华为手机充电显示此数据线会降低充电速度,鸿蒙充电慢什么原因
- 华为鸿蒙系统怎么设置充电,鸿蒙电池最大容量
- 荣耀v10摄像头传感器型号,荣耀v10摄像头型号查询
- 华为升级鸿蒙没有指纹识别,华为升级鸿蒙20正式版