Commit 244fba607cf47e05a3b49a88366c589b50274815

Authored by 朱显松
1 parent e43b6fa3

权限判断工具,增加当前是否显示弹窗判断方法

config.gradle
@@ -21,7 +21,7 @@ ext { @@ -21,7 +21,7 @@ ext {
21 //编译方式 21 //编译方式
22 debug : false, 22 debug : false,
23 //版本号 23 //版本号
24 - version: "1.1.4.7", 24 + version: "1.1.4.8",
25 //Lib库前缀 25 //Lib库前缀
26 packeg : "com.cnlive.media", 26 packeg : "com.cnlive.media",
27 //Lib库名称 27 //Lib库名称
lib_media/src/main/java/com/cnlive/media/utils/PermissionChecker.java
@@ -21,7 +21,11 @@ import java.util.List; @@ -21,7 +21,11 @@ import java.util.List;
21 /** 21 /**
22 */ 22 */
23 public class PermissionChecker { 23 public class PermissionChecker {
  24 + private static boolean hasAlertWindow = false;
24 25
  26 + public static boolean isHasAlertWindow(){
  27 + return hasAlertWindow;
  28 + }
25 /** 29 /**
26 * 检查权限的方法 30 * 检查权限的方法
27 * 31 *
@@ -78,6 +82,8 @@ public class PermissionChecker { @@ -78,6 +82,8 @@ public class PermissionChecker {
78 82
79 if (needList.size() != 0) { 83 if (needList.size() != 0) {
80 if (needShowRationale) { 84 if (needShowRationale) {
  85 + hasAlertWindow = true;
  86 +
81 AlertDialogUtils.showTwoButtonDialog( 87 AlertDialogUtils.showTwoButtonDialog(
82 activity, 88 activity,
83 activity.getResources().getString(leftButton), 89 activity.getResources().getString(leftButton),
@@ -86,8 +92,8 @@ public class PermissionChecker { @@ -86,8 +92,8 @@ public class PermissionChecker {
86 R.color.color_dialog_btn, R.color.color_ffa300, new AlertDialogUtils.DialogTwoListener() { 92 R.color.color_dialog_btn, R.color.color_ffa300, new AlertDialogUtils.DialogTwoListener() {
87 @Override 93 @Override
88 public void onClickLeft(Dialog dialog) { 94 public void onClickLeft(Dialog dialog) {
  95 + hasAlertWindow = false;
89 dialog.dismiss(); 96 dialog.dismiss();
90 -  
91 if (activityFinish) { 97 if (activityFinish) {
92 activity.finish(); 98 activity.finish();
93 } 99 }
@@ -95,6 +101,7 @@ public class PermissionChecker { @@ -95,6 +101,7 @@ public class PermissionChecker {
95 101
96 @Override 102 @Override
97 public void onClickRight(Dialog dialog) { 103 public void onClickRight(Dialog dialog) {
  104 + hasAlertWindow = false;
98 dialog.dismiss(); 105 dialog.dismiss();
99 ActivityCompat.requestPermissions(activity, needList.toArray(new String[needList.size()]), requestCode); 106 ActivityCompat.requestPermissions(activity, needList.toArray(new String[needList.size()]), requestCode);
100 } 107 }
@@ -144,6 +151,8 @@ public class PermissionChecker { @@ -144,6 +151,8 @@ public class PermissionChecker {
144 if (!result) { 151 if (!result) {
145 // Toast.makeText(activity, R.string.toast_imagepicker_permission_denied, Toast.LENGTH_SHORT).show(); 152 // Toast.makeText(activity, R.string.toast_imagepicker_permission_denied, Toast.LENGTH_SHORT).show();
146 if (isNerverAsk) { 153 if (isNerverAsk) {
  154 + hasAlertWindow = true;
  155 +
147 AlertDialogUtils.showTwoButtonDialog( 156 AlertDialogUtils.showTwoButtonDialog(
148 activity, 157 activity,
149 activity.getResources().getString(R.string.dialog_imagepicker_permission_nerver_ask_cancel), 158 activity.getResources().getString(R.string.dialog_imagepicker_permission_nerver_ask_cancel),
@@ -152,12 +161,14 @@ public class PermissionChecker { @@ -152,12 +161,14 @@ public class PermissionChecker {
152 R.color.color_dialog_btn, R.color.color_ffa300, new AlertDialogUtils.DialogTwoListener() { 161 R.color.color_dialog_btn, R.color.color_ffa300, new AlertDialogUtils.DialogTwoListener() {
153 @Override 162 @Override
154 public void onClickLeft(Dialog dialog) { 163 public void onClickLeft(Dialog dialog) {
  164 + hasAlertWindow = false;
155 dialog.dismiss(); 165 dialog.dismiss();
156 if (cencelFinish) activity.finish(); 166 if (cencelFinish) activity.finish();
157 } 167 }
158 168
159 @Override 169 @Override
160 public void onClickRight(Dialog dialog) { 170 public void onClickRight(Dialog dialog) {
  171 + hasAlertWindow = false;
161 dialog.dismiss(); 172 dialog.dismiss();
162 settingPermissionActivity(activity, 1007); 173 settingPermissionActivity(activity, 1007);
163 if (confirmFinish) activity.finish(); 174 if (confirmFinish) activity.finish();