android10 去掉动态权限弹窗
时间: 2023-09-10 20:15:31 浏览: 77
在 Android 10 中,应用程序仍然需要请求许多敏感权限,但是用户不再需要授予每个权限的请求。相反,应用程序可以通过使用“隐式意图”请求权限来自动获得它们,而不会弹出任何权限请求对话框。这使得用户的体验更加流畅和无缝。
但是,如果您仍然需要使用传统的权限请求方式(例如,您需要向用户提供有关为什么需要权限的详细信息),则可以使用 `shouldShowRequestPermissionRationale()` 方法。此方法将告诉您是否需要显示权限请求对话框。
在您的代码中,您可以使用以下代码段来请求权限:
```
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
// Permission is not granted
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Manifest.permission.READ_CONTACTS)) {
// Show an explanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.
} else {
// No explanation needed; request the permission
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.READ_CONTACTS},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
// MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
// app-defined int constant. The callback method gets the
// result of the request.
}
} else {
// Permission has already been granted
}
```
注意,您还需要在Manifest文件中声明所需的权限。
阅读全文