android read_phone_state,经过测试的READ_PHONE_STATE的Android M权限(危险权限)
小编典典在Android 6.0中,您需要明确要求用户授予权限。仅在清单中声明它是不够的。docs中的这篇文章是开始学习新模型的好地方,但我会做一个简短的总结。每次执行需要“危险许可”的操作时,都需要检查当前是否已授予许可,因为用户可以随时将其撤消。这可以通过该checkSelfPermission方法来完成。if (ContextCompat.checkSelfPermission(thisAc
小编典典
在Android 6.0中,您需要明确要求用户授予权限。仅在清单中声明它是不够的。
docs中的这篇文章是开始学习新模型的好地方,但我会做一个简短的总结。
每次执行需要“危险许可”的操作时,都需要检查当前是否已授予许可,因为用户可以随时将其撤消。
这可以通过该checkSelfPermission方法来完成。
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_PHONE_STATE)
!= PackageManager.PERMISSION_GRANTED) {
// We do not have this permission. Let's ask the user
}
您可以使用requestPermissions方法请求权限,例如
ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_PHONE_STATE}, PERMISSION_READ_STATE);
其中PERMISSION_READ_STATE是您定义的常数整数,以便稍后检入回调方法。
然后onRequestPermissionsResult,您将在活动中覆盖并查看是否已授予许可。如果是这样,则可以继续执行危险的操作。
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case PERMISSION_READ_STATE: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission granted!
// you may now do the action that requires this permission
} else {
// permission denied
}
return;
}
}
}
2020-11-13
更多推荐
所有评论(0)