【发布时间】:2017-01-20 17:05:47
【问题描述】:
我目前正在使用 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();
}
}
}
}
在我看来,这对于单个权限检查来说显然相当长。我一直想知道为什么整个权限检查不是简单的 if 语句检查。
权限检查有这么长的原因吗?如果没有,有没有办法尝试优化它?
编辑: 我注意到我有反对票。我不太确定您为什么投了反对票,因为您也根本没有发表评论...如果您可以评论为什么这个问题无效,请解释一下。
【问题讨论】:
-
你必须参考这个:inthecheesefactory.com/blog/…
标签: android optimization permissions