上一次在博客中写了使用PermissionsDispatcher去动态获取权限,不过我最近又发现一个更为简便的方法
(原文连接:原文1楼);
以相机和SD权限为例:
//获取SD卡 相机权限
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_LIST = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE ,
Manifest.permission.CAMERA};
public static void verifyStoragePermissions(Activity activity) {
// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity,
Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
// We don't have permission so prompt the user
ActivityCompat.requestPermissions(activity, PERMISSIONS_LIST,
REQUEST_EXTERNAL_STORAGE);
}
}
.
我们需要什么权限,只需要在PERMISSIONS_LIST这个数组中添加我们所需要的权限即可;
PS:需要在AndroidManifest进行二次权限添加;
(新手博客,多多包涵)