public void doCheckPermission() {
// The request code used in ActivityCompat.requestPermissions()
// and returned in the Activity's onRequestPermissionsResult()
int PERMISSION_ALL = 1;
String[] PERMISSIONS = {Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.ACCESS_NETWORK_STATE
};
if (!hasPermissions(NavigationDrawerActivity.this, PERMISSIONS)) {
ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
}
}
public static boolean hasPermissions(Context context, String... permissions) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) {
for (String permission : permissions) {
if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
}
return true;
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case 1: {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && NavigationDrawerActivity.this != null && permissions != null) {
for (String permission : permissions) {
if (ActivityCompat.checkSelfPermission(NavigationDrawerActivity.this, permission) == PackageManager.PERMISSION_GRANTED) {
// Toast.makeText(this, "Please give all permissions", Toast.LENGTH_SHORT).show();
Log.e("TAG", "onRequestPermissionsResult: given");
}
}
}
}
}
}
希望这将帮助!
来源
2017-04-25 09:41:18
Akp
我同意,应用程序可以有他们的自定义权限,我正在寻找分类默认的,当然自定义权限,我可以保留其他人或应用程序的名称。是的调用getPermissionsInfo和所有工作如期在这里https://gist.github.com/ashish29agre/93ed5f13f916048492e9aae4d8121ef0 – sector11