在我的应用程序中,我获得了运行时权限。
这是我如何获取请求
ActivityCompat.requestPermissions(IntroductionSlider.this,String[]{ Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE},REQUEST_CODE);
这是如何获得结果
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
boolean flag=false;
if(requestCode == REQUEST_CODE){
if(grantResults.length>0){
if(grantResults[0]==PackageManager.PERMISSION_GRANTED && grantResults[1]==PackageManager.PERMISSION_GRANTED && grantResults[2]==PackageManager.PERMISSION_GRANTED){
flag=true;
}
}
if(flag){
Toast.makeText(IntroductionSlider.this,"Granted",Toast.LENGTH_LONG).show();
startActivity(new Intent(IntroductionSlider.this,oneTimeValidation.class));
finish();
}else {
Toast.makeText(IntroductionSlider.this,"Goto to setting->Apps->My market->Permissions grant all permissions to proceed",Toast.LENGTH_LONG).show();
}
return;
}
}
我的问题是,尽管我在运行时拒绝某些权限。我在if block 中得到了toast“授予”即。不知道为什么会发生这种情况
谁能帮帮我吗?
最佳答案
为每个权限设置 boolean 值并检查,如果所有权限都允许,则只有 toast 才会显示已授予的权限,否则将显示权限被拒绝。我已经在我的应用程序上使用了它的可行代码。
引用:https://www.android-examples.com/request-check-multiple-runtime-permissions-android-marshmallow/
使用下面的代码,
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case RequestPermissionCode:
if (grantResults.length > 0) {
boolean CameraPermission = grantResults[0] == PackageManager.PERMISSION_GRANTED;
boolean ReadContactsPermission = grantResults[1] == PackageManager.PERMISSION_GRANTED;
boolean ReadPhoneStatePermission = grantResults[2] == PackageManager.PERMISSION_GRANTED;
if (CameraPermission && ReadContactsPermission && ReadPhoneStatePermission) {
Toast.makeText(MainActivity.this, "Permission Granted", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(MainActivity.this,"Permission Denied",Toast.LENGTH_LONG).show();
}
}
break;
}
}
关于java - Android - 获取运行时权限的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48605004/