From 289875f44d14d61acd74e1f93cb8bee24f004258 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 06 十二月 2022 17:13:18 +0800 Subject: [PATCH] 代码更新 --- AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 49 insertions(+), 6 deletions(-) diff --git a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java index 0fdee9f..25e2f0b 100644 --- a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java +++ b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java @@ -102,22 +102,24 @@ } //寮�鍚坊鍔犻〉闈� activity.startActivity(new Intent(activity.getApplication(), DeviceAddActivity.class)); + HdlToLcUtils.getInstance().requestCameraPermissions(); } @Subscribe(threadMode = ThreadMode.MAIN) public void onGetMessage(String obj) { - if(obj.equals("backXamarin")){ - iAddCamera.back(); - - if(EventBus.getDefault().isRegistered(this)){ + if (obj.equals("backXamarin")) { + if (EventBus.getDefault().isRegistered(this)) { EventBus.getDefault().unregister(this); } + + if (iAddCamera != null) + iAddCamera.back(); } } - public void play(String deviceId){ - new DeviceUtils(deviceId).play(); + public void play(String deviceId,String title){ + new DeviceUtils(deviceId,title).play(); } @@ -172,6 +174,47 @@ }); } + public boolean checkCameraPermissions(){ + boolean isGranted = ActivityCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED + && ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED + && ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED; + return isGranted; + } + + /** + * 璇锋眰鎽勫儚澶村叏涓� + */ + public void requestCameraPermissions(){ + boolean isMinSDKM = Build.VERSION.SDK_INT < 23; + boolean isGranted = ActivityCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED + && ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED + && ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED; + if (isMinSDKM || isGranted) { + return; + } + requestRecordCameraPermission(); + } + + + private void requestRecordCameraPermission() { + if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.CAMERA) + || ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) + || ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.READ_EXTERNAL_STORAGE)) { + ActivityCompat.requestPermissions(activity, + new String[]{ + Manifest.permission.CAMERA, + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_EXTERNAL_STORAGE}, + 1); + } else { + ActivityCompat.requestPermissions(activity, + new String[]{ + Manifest.permission.CAMERA, + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_EXTERNAL_STORAGE}, + 1); + } + } /** * 璇锋眰瀵硅鏉冮檺 -- Gitblit v1.8.0