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");
}
}
}
}
}
}
Bluetooth(BLUETOOTH, BLUETOOTH_ADMIN, BLUETOOTH_PRIVILEGED)
などのような特徴に基づいて、すべての権限を分類したい
は、これが役立つことを願っています!
出典
2017-04-25 09:41:18
Akp
私は同意すると、アプリケーションは独自の権限を持つことができます。私はデフォルトのものを分類することを望んでいます。 getPermissionsInfoを呼び出すための呼び出しがあり、すべてが期待どおりに動作しています。https://gist.github.com/ashish29agre/93ed5f13f916048492e9aae4d8121ef0 – sector11