鴻蒙攝像頭調用,鴻蒙應用程序讀取相冊權限

華為手機的后置攝像頭想要實現掃碼功能,必須要開啟后置攝像頭的預覽畫面也就是拍攝畫面,而后置攝像頭的使用也需要開啟相應的權限才行,比如手機相機的敏感類型權限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初次安裝時去啟動并獲取相機功能給予的權限,保證在后面進行拍攝時其畫面不出現“黑屏” 。