package com.hdl.photovoltaic.utils;
|
|
import android.app.Activity;
|
import android.content.pm.PackageManager;
|
import android.os.Build;
|
|
import androidx.core.app.ActivityCompat;
|
import androidx.core.content.ContextCompat;
|
import androidx.fragment.app.Fragment;
|
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
|
public class PermissionUtils {
|
|
/**
|
* 获取权限成功
|
*/
|
public static final int STATUS_SUCCESS = 1;
|
|
/**
|
* 只有activity才可以申请
|
*
|
* @param activity -
|
* @param strings -
|
*/
|
public static void askPermission(Activity activity, String[] strings) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
List<String> newList = new ArrayList<>();
|
for (String permission : strings) {
|
boolean flag = checkPermission(activity, permission);
|
if (!flag) {
|
newList.add(permission);
|
}
|
}
|
if (newList.size() > 0) {
|
ActivityCompat.requestPermissions(activity, newList.toArray(new String[0]), STATUS_SUCCESS);
|
}
|
}
|
}
|
|
/**
|
* 检查一个权限
|
*
|
* @param activity -
|
* @param permission -
|
* @return -
|
*/
|
public static boolean checkPermission(Activity activity, String permission) {
|
//first we need check this Drive has? CAMERA Permission
|
return ContextCompat.checkSelfPermission(activity, permission) == PackageManager.PERMISSION_GRANTED;
|
}
|
|
/**
|
* 检查多个权限
|
*
|
* @param activity -
|
* @param strings -
|
* @return -
|
*/
|
public static String[] checkPermission(Activity activity, String[] strings) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
List<String> newList = new ArrayList<>();
|
for (String permission : strings) {
|
boolean flag = checkPermission(activity, permission);
|
if (!flag) {
|
newList.add(permission);
|
}
|
}
|
return newList.toArray(new String[0]);
|
}
|
return new String[]{};
|
}
|
|
|
}
|