В настоящее время я работаю с разрешениями в Android Studio.Любой способ упростить проверку разрешений?
Я проверил, как это делает учебник, и я видел, что это действительно неприятно и долго. Текущий код таков:
String[] InternetPermission = new String[]{Manifest.permission.INTERNET};
if (ContextCompat.checkSelfPermission(ViewingWindow.this, Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(ViewingWindow.this,
Manifest.permission.INTERNET)) {
InternetExplanation();
} else {
ActivityCompat.requestPermissions(ViewingWindow.this,
new String[]{Manifest.permission.INTERNET},
MY_PERMISSIONS_REQUEST_INTERNET);
}
}
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_INTERNET: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] != PackageManager.PERMISSION_GRANTED){
this.finishAffinity();
}
}
}
}
Это, очевидно, довольно долго для проверки единого разрешения, на мой взгляд. Я всегда задавался вопросом, почему проверка всего разрешения не простая проверка операторов.
Есть ли причина для того, чтобы проверки на разрешение были такими длинными? Если нет, есть ли способ попытаться его оптимизировать?
Edit: Я заметил, что у меня есть downvotes. Я не совсем уверен, почему вы отказались от этого, потому что вы тоже не оставили комментарий ... если вы можете прокомментировать, почему этот вопрос недействителен, объясните, пожалуйста.
Вы должны направить это: https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en –