Android権限の問題
2251 ワード
「アクセス権の問題」--次のように記録します.
private void getPermission(){
//
List permissionList = new ArrayList<>();
if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.INTERNET)
!= PackageManager.PERMISSION_GRANTED){
permissionList.add(Manifest.permission.INTERNET);
}
if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED){
permissionList.add(Manifest.permission.READ_EXTERNAL_STORAGE);
}
if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED){
permissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
// ---- ---
if(!permissionList.isEmpty()){
String[] permissions = permissionList.toArray(new String[permissionList.size()]);
ActivityCompat.requestPermissions(MainActivity.this, permissions, 1);
}
else{
// -- -- ,
startMethods();
}
}
// --
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
//
switch (requestCode){
case 1:
//
if(grantResults.length>0){
for(int result:grantResults){
if(result!=PackageManager.PERMISSION_GRANTED){
Toast.makeText(this, " ", Toast.LENGTH_SHORT).show();
finish();
return;
}
}
startMethods();
}else{
Toast.makeText(this, " ", Toast.LENGTH_SHORT).show();
finish();
}
break;
default:
break;
}
}