From 68d9078b49cfa8e83ed553835b05d4042c183969 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 16 三月 2023 09:39:34 +0800 Subject: [PATCH] 云台不显示问题修复,LC问题 --- AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java | 78 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 73 insertions(+), 5 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..8dc4320 100644 --- a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java +++ b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java @@ -16,17 +16,23 @@ import com.mm.android.deviceaddmodule.LCDeviceEngine; import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.ProviderManager; import com.mm.android.deviceaddmodule.openapi.CONST; +import com.mm.android.deviceaddmodule.openapi.HttpClient; 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; } @@ -84,7 +90,6 @@ } public void openActivity() { try { -// getSubAccountToken("827a98c98da7469b8bc19bb6a3c7651906"); activity.startActivity(new Intent(activity, com.lechange.demo.ui.DeviceListActivity.class)); } catch (Throwable e) { Toast.makeText(activity, e.getMessage(), Toast.LENGTH_SHORT).show(); @@ -92,12 +97,34 @@ } public void addCamera(IAddCamera iAddCamera) { + if(!EventBus.getDefault().isRegistered(this)){ + EventBus.getDefault().register(this); + } + this.iAddCamera = iAddCamera; //寮�鍚坊鍔犻〉闈� activity.startActivity(new Intent(activity.getApplication(), DeviceAddActivity.class)); + HdlToLcUtils.getInstance().requestCameraPermissions(); + } - public void play(String deviceId){ - new DeviceUtils(deviceId).play(); + public void ShowErrorInfo(boolean isShow){ + HttpClient.SetShowErrorInfo(isShow); + } + + @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 +179,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