From 27d994f4375f604ba7f49a5ba600882884d73126 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 29 十二月 2023 16:07:28 +0800 Subject: [PATCH] 2023年12月29日16:07:20 --- app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java | 22 +++++++++++++--------- 1 files changed, 13 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java index 91a31dc..ff6a2d8 100644 --- a/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java +++ b/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java @@ -10,6 +10,7 @@ import androidx.core.content.ContextCompat; import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.other.HdlDialogLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hjq.permissions.OnPermissionCallback; import com.hjq.permissions.XXPermissions; @@ -93,9 +94,9 @@ /** * 鑾峰彇鏉冮檺鐘舵�� */ - public static int getAuthorizeStaus(Activity activity, String authorize) { + public static int getPermissionState(Activity activity, String authorize) { int flag = ActivityCompat.checkSelfPermission(activity, authorize); - Boolean isShould = ActivityCompat.shouldShowRequestPermissionRationale(activity, authorize); + boolean isShould = ActivityCompat.shouldShowRequestPermissionRationale(activity, authorize); if (isShould) { return STATUS_REFUSE; } @@ -115,10 +116,11 @@ * @param activity - * @param permission - * @param permissionStateCallback - + * @param is_skip 鎷掔粷鏉冮檺鍚庢槸鍚﹀紩瀵煎埌璁剧疆閭i噷鎵撳紑(true=寮曞) */ - public static void applyForRight(Activity activity, String permission, PermissionState permissionStateCallback) { + public static void requestPermissionsResultCallback(Activity activity, String permission, PermissionState permissionStateCallback, boolean is_skip) { // String permission = Manifest.permission.WRITE_EXTERNAL_STORAGE; - int status = PermissionUtils.getAuthorizeStaus(activity, permission); + int status = PermissionUtils.getPermissionState(activity, permission); switch (status) { case PermissionUtils.STATUS_SUCCESS: if (permissionStateCallback != null) { @@ -140,15 +142,17 @@ @Override public void onDenied(List<String> permissions, boolean never) { - SharedPreUtils.putBoolean(permission, true); + if (is_skip) { + SharedPreUtils.putBoolean(permission, true); + } } }); break; case PermissionUtils.STATUS_REFUSE_PERMANENT: - if (permissionStateCallback != null) { - permissionStateCallback.Success(STATUS_REFUSE_PERMANENT); - } - +// if (permissionStateCallback != null) { +// permissionStateCallback.Success(STATUS_REFUSE_PERMANENT); +// } + HdlDialogLogic.getInstance().showSettingPermissionDialog(activity); break; } } -- Gitblit v1.8.0