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 | 71 +++++++++++++++++++++++++++++++++-- 1 files changed, 67 insertions(+), 4 deletions(-) diff --git a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java index 674a8e3..25e2f0b 100644 --- a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java +++ b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java @@ -19,14 +19,19 @@ import com.usermodule.net.IUserDataCallBack; import com.usermodule.net.UserNetManager; +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; + public class HdlToLcUtils { - private Activity activity; + private Activity activity; private String homeId; private String token; private String subAccessToken; + private IAddCamera iAddCamera; - public Activity getActivity() { + public Activity getActivity() { return activity; } @@ -92,12 +97,29 @@ } public void addCamera(IAddCamera iAddCamera) { + if(!EventBus.getDefault().isRegistered(this)){ + EventBus.getDefault().register(this); + } //寮�鍚坊鍔犻〉闈� activity.startActivity(new Intent(activity.getApplication(), DeviceAddActivity.class)); + HdlToLcUtils.getInstance().requestCameraPermissions(); + } - public void play(String deviceId){ - new DeviceUtils(deviceId).play(); + @Subscribe(threadMode = ThreadMode.MAIN) + public void onGetMessage(String obj) { + if (obj.equals("backXamarin")) { + if (EventBus.getDefault().isRegistered(this)) { + EventBus.getDefault().unregister(this); + } + + if (iAddCamera != null) + iAddCamera.back(); + } + } + + public void play(String deviceId,String title){ + new DeviceUtils(deviceId,title).play(); } @@ -152,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