对于Android6.0及其以上版本,有九组权限不能通过AndroidManifest文件配置获取,需要通过运行时动态请求来获取,这9组权限如下图所示:
动态请求权限的代码示例如下,大家可以参考来适应自己的项目:
/**
*
* @param activity 传入所在的Activity
* @param permissions 权限组,如new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}
* @param requestCode 响应码
*/
private void requestPermission(Activity activity, String[] permissions,int requestCode){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
for (String str : permissions) {
if (activity.checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) { //申请权限
activity.requestPermissions(permissions, requestCode);
}
}
}
}