From 14bcc4721b00afc9153865f57117a458f68cdf5d Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 19 五月 2025 20:40:49 +0800
Subject: [PATCH] 2025年05月19日20:40:47

---
 app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 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 cbc69e5..6def844 100644
--- a/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java
@@ -48,7 +48,7 @@
      * @param activity -
      * @param strings  -
      */
-    public static void askPermission(Activity activity, String[] strings) {
+    public static void activityPermission(Activity activity, String[] strings) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
             List<String> newList = new ArrayList<>();
             for (String permission : strings) {
@@ -76,10 +76,22 @@
     }
 
     /**
+     * 妫�鏌ヤ竴涓潈闄�
+     *
+     * @param context   -
+     * @param permission -
+     * @return -
+     */
+    public static boolean checkPermission(Context context, String permission) {
+        //first we need check this Drive has? CAMERA Permission
+        return ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED;
+    }
+
+    /**
      * 妫�鏌ュ涓潈闄�
      *
      * @param activity -
-     * @param strings  -
+     * @param strings  -鏉冮檺鐨勬暟鎹�
      * @return -
      */
     public static String[] checkPermission(Activity activity, String[] strings) {
@@ -115,6 +127,7 @@
         return STATUS_REFUSE_PERMANENT;
     }
 
+
     /**
      * 鐢宠鏉冮檺鏈夊洖璋�
      *
@@ -139,12 +152,15 @@
                     public void onGranted(List<String> permissions, boolean all) {
                         SharedPreUtils.putBoolean(permission, true);
                         if (permissionStateCallback != null) {
-                            permissionStateCallback.Success(STATUS_REFUSE);
+                            permissionStateCallback.Success(STATUS_SUCCESS);
                         }
                     }
 
                     @Override
                     public void onDenied(List<String> permissions, boolean never) {
+                        if (permissionStateCallback != null) {
+                            permissionStateCallback.Success(STATUS_REFUSE);
+                        }
                         if (is_skip) {
                             SharedPreUtils.putBoolean(permission, true);
                         }
@@ -155,6 +171,9 @@
 //                if (permissionStateCallback != null) {
 //                    permissionStateCallback.Success(STATUS_REFUSE_PERMANENT);
 //                }
+                if (permissionStateCallback != null) {
+                    permissionStateCallback.Success(STATUS_REFUSE_PERMANENT);
+                }
                 if (is_skip) {
                     HdlDialogLogic.getInstance().showSettingPermissionDialog(activity);
                 }

--
Gitblit v1.8.0