下面是我下载的源码
package com.mobile.mobileinfo.util;
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import java.util.ArrayList;
import java.util.List;
public class PermissionUtil {
// 动态权限申请
public static void checkPermission(Activity context) {
if (Build.VERSION.SDK_INT >= 23) {
List permissions = null;
if (context.checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
permissions = new ArrayList<>();
permissions.add(Manifest.permission.READ_PHONE_STATE);
}
if (context.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
if (permissions == null) {
permissions = new ArrayList<>();
}
permissions.add(Manifest.permission.ACCESS_COARSE_LOCATION);
}
if (context.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
if (permissions == null) {
permissions = new ArrayList<>();
}
permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
if (context.checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
if (permissions == null) {
permissions = new ArrayList<>();
}
permissions.add(Manifest.permission.CAMERA);
}
if (permissions != null) {
String[] permissionArray = new String[permissions.size()];
permissions.toArray(permissionArray);
context.requestPermissions(permissionArray, 0);
}
}
}
}