Android6.0之后动态权限申请
Android 6.0之前,权限在AndroidManifest.xml文件中声明即可。Android 6.0之后把权限分成正常权限和危险权限,AndroidManifest中声明的正常权限系统会自动授予,而危险权限则需要在使用的时候用户明确授予。
- 静态申请
AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- 动态申请
//将需要申请的权限加入
String[] permissions = new String[]{ Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE};
List<String> mPermissionList = new ArrayList<>();
//权限请求码
final int mRequestCode = 100;
//权限动态申请的方法
private void initPermission() {
mPermissionList.clear();
for (int i = 0; i < permissions.length; i++) {
if (checkSelfPermission(permissions[i]) != PackageManager.PERMISSION_GRANTED) {
mPermissionList.add(permissions[i]);
}
}
if (mPermissionList.size() > 0) {
requestPermissions(permissions, mRequestCode);
}
}
//使用:在onCreate中添加
initPermission();