From 2e91f8abdcb87feda9e237895d4460a19fd7aed8 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期五, 10 一月 2025 15:41:23 +0800 Subject: [PATCH] 2025年01月10日15:40:19 --- app/src/main/java/com/hdl/photovoltaic/ui/bean/QrcodeUrlBean.java | 28 +++++++++ app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java | 66 +++++++++++++-------- app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java | 34 +++++------ app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 6 +- 4 files changed, 88 insertions(+), 46 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java index bc70bde..e70f0e8 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -55,6 +55,7 @@ import com.hdl.photovoltaic.ui.bean.MemberBean; import com.hdl.photovoltaic.ui.bean.NotRunBean; import com.hdl.photovoltaic.ui.bean.OidBean; +import com.hdl.photovoltaic.ui.bean.QrcodeUrlBean; import com.hdl.photovoltaic.ui.bean.StaffBean; import com.hdl.photovoltaic.ui.bean.UnCountBean; import com.hdl.photovoltaic.ui.bean.UserRightTypeBean; @@ -1008,9 +1009,8 @@ public void onSuccess(String obj) { try { Gson g = new Gson(); - JsonObject jObject = g.fromJson(obj, JsonObject.class); - String deliveryUrl = jObject.get("deliveryUrl").toString(); - uniSuccessCallback(type, deliveryUrl, callback); + QrcodeUrlBean qrcodeUrlBean = g.fromJson(obj, QrcodeUrlBean.class); + uniSuccessCallback(type, qrcodeUrlBean.getDeliveryUrl(), callback); } catch (Exception ignored) { uniSuccessCallback(type, obj, callback); } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/QrcodeUrlBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/QrcodeUrlBean.java new file mode 100644 index 0000000..1e14840 --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/QrcodeUrlBean.java @@ -0,0 +1,28 @@ +package com.hdl.photovoltaic.ui.bean; + +import java.io.Serializable; + +/** + * 鐢电珯浜や粯URL锛圔绔級瀹炰綋绫� + */ +public class QrcodeUrlBean implements Serializable { + + private String qrcodeUrl; + private String deliveryUrl; + + public String getQrcodeUrl() { + return qrcodeUrl == null ? "" : qrcodeUrl; + } + + public void setQrcodeUrl(String qrcodeUrl) { + this.qrcodeUrl = qrcodeUrl; + } + + public String getDeliveryUrl() { + return deliveryUrl == null ? "" : deliveryUrl; + } + + public void setDeliveryUrl(String deliveryUrl) { + this.deliveryUrl = deliveryUrl; + } +} diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java index 96a9bb3..abecbf3 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java @@ -1,5 +1,6 @@ package com.hdl.photovoltaic.ui.device; +import android.Manifest; import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -46,6 +47,7 @@ import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.LocalManageUtil; +import com.hdl.photovoltaic.utils.PermissionUtils; import com.jaeger.library.StatusBarUtil; import com.zxing.IZxingActivity; import com.zxing.camera.CameraManager; @@ -122,7 +124,9 @@ //璁剧疆鏍硅鍥� View mContentView = LayoutInflater.from(this).inflate(getRootLayoutId(), null); setContentView(mContentView); + afterViewBind(mContentView, savedInstanceState); + } @@ -197,7 +201,9 @@ } inactivityTimer.onPause(); beepManager.close(); - cameraManager.closeDriver(); + if (cameraManager != null) { + cameraManager.closeDriver(); + } if (!isHasSurface) { scanPreview.getHolder().removeCallback(this); } @@ -247,31 +253,41 @@ } private void initCamera(SurfaceHolder surfaceHolder) { - if (surfaceHolder == null) { - throw new IllegalStateException("No SurfaceHolder provided"); - } - if (cameraManager.isOpen()) { - Log.w(TAG, "initCamera() while already open -- late SurfaceView callback?"); - return; - } - try { - cameraManager.openDriver(surfaceHolder); - // Creating the handler starts the preview, which can also throw a - // RuntimeException. - if (handler == null) { - handler = new CaptureActivityHandler(this, cameraManager, DecodeThread.ALL_MODE); - } + PermissionUtils.requestPermissionsResultCallback(this, Manifest.permission.CAMERA, new PermissionUtils.PermissionState() { + @Override + public void Success(int value) { + if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) { +// HdlThreadLogic.toast(_mActivity, R.string.permission_open); + Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); + return; + } - initCrop(); - } catch (IOException ioe) { - Log.w(TAG, ioe); - Toast.makeText(this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); - finish(); - } catch (RuntimeException e) { - Log.w(TAG, "Unexpected error initializing camera", e); - Toast.makeText(this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); - finish(); - } + if (surfaceHolder == null) { + throw new IllegalStateException("No SurfaceHolder provided"); + } + if (cameraManager.isOpen()) { + Log.w(TAG, "initCamera() while already open -- late SurfaceView callback?"); + return; + } + try { + cameraManager.openDriver(surfaceHolder); + // Creating the handler starts the preview, which can also throw a + // RuntimeException. + if (handler == null) { + handler = new CaptureActivityHandler(ScanActivity.this, cameraManager, DecodeThread.ALL_MODE); + } + initCrop(); + } catch (IOException ioe) { + Log.w(TAG, ioe); + Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); + finish(); + } catch (RuntimeException e) { + Log.w(TAG, "Unexpected error initializing camera", e); + Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show(); + finish(); + } + } + }, true); } public void restartPreviewAfterDelay(long delayMS) { diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java index a042b29..715c643 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java @@ -124,25 +124,23 @@ viewBinding.addPowerStationTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - // 鏈巿鏉� 濡傛灉搴旂敤绋嬪簭娌℃湁鎵�闇�鐨勬潈闄愶紝鍒欐樉绀鸿В閲婅鏄� - PermissionExplanationDialog.getInstance().showPortConflictPdDialog(_mActivity, getString(R.string.camera_storage_instructions), getString(R.string.camera_storage_purpose)); - PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.CAMERA, new PermissionUtils.PermissionState() { - @Override - public void Success(int value) { - PermissionExplanationDialog.getInstance().dismiss(); - if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) { -// HdlThreadLogic.toast(_mActivity, R.string.permission_open); - return; - } + startActivity(ScanActivity.class); - -// startActivity(CaptureActivity.class); - startActivity(ScanActivity.class); - } - }, true); -// String path = HDLUniMP.UNI_EVENT_OPEN_DEVICESCAN + "?scanType=addPowerStation"; -// HdlUniLogic.getInstance().openUniMP(path, null); -// startActivity(FastScanActivity.class); +// // 鏈巿鏉� 濡傛灉搴旂敤绋嬪簭娌℃湁鎵�闇�鐨勬潈闄愶紝鍒欐樉绀鸿В閲婅鏄� +// PermissionExplanationDialog.getInstance().showPortConflictPdDialog(_mActivity, getString(R.string.camera_storage_instructions), getString(R.string.camera_storage_purpose)); +// PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.CAMERA, new PermissionUtils.PermissionState() { +// @Override +// public void Success(int value) { +// PermissionExplanationDialog.getInstance().dismiss(); +// if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) { +//// HdlThreadLogic.toast(_mActivity, R.string.permission_open); +// return; +// } +// +// +// startActivity(ScanActivity.class); +// } +// }, true); } }); -- Gitblit v1.8.0