在Android中,应用程序需要获得许多权限才能正常运行。这些权限必须在应用程序的Manifest文件中声明,否则该应用程序将无法使用该权限。以下是一些处理Android Java权限问题的示例代码:
使用以下示例代码请求单个权限:
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, Manifest.permission.READ_CONTACTS)) {
// 显示一个解释为什么需要该权限的Dialog
} else {
// 无需解释,直接请求权限
ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
}
}
使用以下示例代码请求多个权限:
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_CONTACTS ) != PackageManager.PERMISSION_GRANTED
|| ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, Manifest.permission.READ_CONTACTS)
|| ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
// 显示一个解释为什么需要该权限的Dialog
} else {
ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_MULTIPLE_PERMISSIONS);
}
}
以上是处理Android Java权限问题的示例代码,供参考。