private void requestPermission() {
List<String> permissionsNeeded = new ArrayList<>();
if (ContextCompat. checkSelfPermission ( this,
Manifest.permission. WRITE_EXTERNAL_STORAGE )== PackageManager. PERMISSION_DENIED ) {
permissionsNeeded.add(Manifest.permission. WRITE_EXTERNAL_STORAGE );
}
if (ContextCompat. checkSelfPermission ( this,
Manifest.permission. READ_EXTERNAL_STORAGE ) == PackageManager. PERMISSION_DENIED ) {
permissionsNeeded.add(Manifest.permission. READ_EXTERNAL_STORAGE );
}
if (ContextCompat. checkSelfPermission ( this, Manifest.permission. CAMERA ) ==
PackageManager. PERMISSION_DENIED ) {
permissionsNeeded.add(Manifest.permission. CAMERA );
}
if(permissionsNeeded.size()>0){
ActivityCompat.requestPermissions ( this, permissionsNeeded.toArray( new
String[permissionsNeeded.size()]), 1);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int
[]grantResults) {
switch (requestCode) {
case 1: {
boolean allowed = true;
if(grantResults.length > 0 ){
for( int i=0;i<grantResults. length;i++){
if (grantResults[i] == PackageManager. PERMISSION_GRANTED ) {
Timber.e("case 1权限没有打开");
} else {
Timber.e("case 1权限没有");
allowed = false;
break;
}
}
}
if(!allowed){
//O TODO 自定义处理
//dialog();
Timber.e("case 1自定义处理");
}
break;
}
}
}