Android动态申请权限
2018-01-05 14:23
211 查看
1.Android6.0动态申请权限
1.检查权限是否已经授予
//1.检测是否已经全部授权private boolean checkPermission() {
String[] permissions = {Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE};
for (String permission : permissions){//只要有个没授权则都需要申请
if(ContextCompat.checkSelfPermission(this, permission)!= PackageManager.PERMISSION_GRANTED){
return false;
}
}
return true;
}
2.没有授权则申请相关权限
if(checkPermission()){//检测是否已经全部授权takePhoto();//do something
}else {//2.没有授权则重新申请
ActivityCompat.requestPermissions(this,new String[]{
Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
},666);
}
3.处理用户授权结果
//3.回调申请授权的结果boolean isGrant ;
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode){
case 666:{
// 判断是否所有的权限都已经授予了
isGrant = true;
for (int grant : grantResults) {
if (grant != PackageManager.PERMISSION_GRANTED) {
isGrant = false;
Toast.makeText(this, "需要授权!", Toast.LENGTH_SHORT).show();
break;
}
}
if(isGrant){
takePhoto();//dosomething
}
}
}
}
相关文章推荐
- Android 6.0 动态权限申请
- Android 6.0(API 23) 含以上 java.lang.SecurityException 权限需动态申请(危险权限)
- Android笔记 android 7.0 动态申请权限
- Android 6.0(API 23)之后需动态申请权限的问题
- Android动态权限判断以及动态权限申请
- Android 6.0 动态权限申请
- android 动态权限申请
- Android 6.0动态权限申请
- Android动态权限申请
- Android 6.0 动态权限申请(权限分组)
- Android 6.0 动态权限申请注意事项
- Android 6.0 动态权限申请
- Android 动态权限申请 Permission4M
- Android动态申请权限
- android 6.0及以上 运行时权限申请(动态权限申请)
- android动态申请权限
- android 动态权限申请 rxjava2实现方法
- Android 动态申请权限 (解决:open failed: EACCES (Permission denied))
- Android 6.0动态权限申请问题
- Android 6.0 动态权限申请封装的处理方式