@@ -46,26 +46,14 @@ public static <T> void openGPSLocation(final T actFmg, final IGPSCallBack callBa
4646 GPSHelper .openGPSLocation (actFmg , callBack );
4747 }
4848
49- /**
50- * 检查所请求的权限是否被授予
51- *
52- * @param activity 上下文对象
53- * @param permInfo 权限请求信息
54- * @return
55- */
56- public static boolean hasPermissions (@ NonNull Activity activity , IPermissionInfo permInfo ) {
57- PermUtils .checkIPermInfo (permInfo );
58- return hasPermissions (activity , permInfo .getPermissions ());
59- }
60-
6149 /**
6250 * 检查所请求的权限是否被授予
6351 *
6452 * @param activity 上下文对象
6553 * @param perms 权限请求信息
6654 * @return
6755 */
68- public static boolean hasPermissions (@ NonNull Activity activity , String ... perms ) {
56+ private static boolean hasPermissions (@ NonNull Activity activity , String ... perms ) {
6957 PermUtils .checkActivity (activity );
7058 PermUtils .checkPermissioins (perms );
7159
@@ -97,13 +85,17 @@ public static void requestPermissions(@NonNull Activity activity, @NonNull IPerm
9785 }
9886
9987 /**
100- * 申请动态权限
88+ * <pre>
89+ * 申请动态权限
90+ * 此方法将在后期版本中删除,请调用 requestPermissions(Activity, IPermissionCallback, IPermissionInfo)
91+ * </pre>
10192 *
10293 * @param activity 上下文对象
10394 * @param callback 权限处理结果回调
10495 * @param requestCode 权限请求码
10596 * @param perms 权限请求信息
10697 */
98+ @ Deprecated
10799 public static void requestPermissions (@ NonNull Activity activity , @ NonNull IPermissionCallback callback , int requestCode , String ... perms ) {
108100 PermUtils .checkActivity (activity );
109101 PermUtils .checkPermissioins (perms );
@@ -137,48 +129,6 @@ private static void notifyHasPermissions(Activity activity, int requestCode, Str
137129 onRequestPermissionsResult (activity , requestCode , perms , grantResults );
138130 }
139131
140- /**
141- * <pre>
142- * 处理拒绝且不再询问之后,进入应用权限设置页面设置后
143- * 返回App的页面,接收返回结果的处理
144- * </pre>
145- *
146- * @param activity
147- * @param requestCode
148- */
149- public static void onActivityResult (Activity activity , int requestCode ) {
150- GPSHelper .onActivityResult (activity , requestCode );
151-
152- String callBackKey = PermUtils .generateCallBackKey (activity , requestCode );
153- IPermissionCallback callback = mCallBack .get (callBackKey );
154- if (null == callback ) {
155- return ;
156- }
157-
158- List <String > granted = new ArrayList <>();//已经被授权的权限
159- List <String > denied = new ArrayList <>();//已经被拒绝的权限
160-
161- List <String > perms = mPerms .get (callBackKey );
162- for (String perm : perms ) {
163- if (hasPermissions (activity , perm )) {
164- granted .add (perm );
165- } else {
166- denied .add (perm );
167- }
168- }
169-
170- if (!denied .isEmpty ()) { //被拒绝的授权
171- callback .onPermissionDenied (requestCode , denied );
172- }
173-
174- if (!granted .isEmpty () && denied .isEmpty ()) { //全部通过了
175- callback .onPermissionGranted (requestCode , granted );
176- }
177-
178- mCallBack .remove (callBackKey );
179- mPerms .remove (callback );
180- }
181-
182132 /**
183133 * <pre>
184134 * 处理权限请求结果方法
@@ -252,4 +202,46 @@ private static void callBcakMethod(Activity activity, int requestCode, List<Stri
252202 private static boolean somePermissionPermanetlyDenied (Activity activity , List <String > deniedPermissions ) {
253203 return PermissionHelper .newInstance (activity ).somePermissionPermanetlyDenied (deniedPermissions );
254204 }
205+
206+ /**
207+ * <pre>
208+ * 处理拒绝且不再询问之后,进入应用权限设置页面设置后
209+ * 返回App的页面,接收返回结果的处理
210+ * </pre>
211+ *
212+ * @param activity
213+ * @param requestCode
214+ */
215+ public static void onActivityResult (Activity activity , int requestCode ) {
216+ GPSHelper .onActivityResult (activity , requestCode );
217+
218+ String callBackKey = PermUtils .generateCallBackKey (activity , requestCode );
219+ IPermissionCallback callback = mCallBack .get (callBackKey );
220+ if (null == callback ) {
221+ return ;
222+ }
223+
224+ List <String > granted = new ArrayList <>();//已经被授权的权限
225+ List <String > denied = new ArrayList <>();//已经被拒绝的权限
226+
227+ List <String > perms = mPerms .get (callBackKey );
228+ for (String perm : perms ) {
229+ if (hasPermissions (activity , perm )) {
230+ granted .add (perm );
231+ } else {
232+ denied .add (perm );
233+ }
234+ }
235+
236+ if (!denied .isEmpty ()) { //被拒绝的授权
237+ callback .onPermissionDenied (requestCode , denied );
238+ }
239+
240+ if (!granted .isEmpty () && denied .isEmpty ()) { //全部通过了
241+ callback .onPermissionGranted (requestCode , granted );
242+ }
243+
244+ mCallBack .remove (callBackKey );
245+ mPerms .remove (callback );
246+ }
255247}
0 commit comments