E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.administrator.bookmanager, PID: 13611 java.lang.SecurityException: Permission Denial: opening provider com.android.providers.downloads.DownloadStorageProvider from ProcessRecord{fcbf4fe 13611:com.example.administrator.bookmanager/u0a131} (pid=13611, uid=10131) requires that you obtain access using ACTION_OPEN_DOCUMENT or related APIs at com.example.administrator.bookmanager.admin.qiantai_admin.contentActivity$2.setViewValue(contentActivity.java:107)
时间: 2023-12-20 22:05:30 浏览: 307
这个错误是由于您的应用程序没有正确的权限而导致的。更具体地说,您的应用程序在尝试打开下载存储提供程序时,被拒绝了权限。您需要在您的应用程序中添加权限声明以获取访问下载存储提供程序的权限。您可以在您的应用程序的Manifest文件中添加以下权限声明来解决此问题:
```xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
```
此外,您还需要使用ACTION_OPEN_DOCUMENT或类似的API来获取访问下载存储提供程序的权限。使用这些API,您可以请求用户授权访问存储提供程序,并在用户授权后获得访问权限。
相关问题
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.photodiary2, PID: 29025 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.photodiary2/com.example.photodiary2.TakePhoto}: java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE cmp=com.android.camera2/com.android.camera.CaptureActivity } from ProcessRecord{eb4f85b 29025:com.example.photodiary2/u0a149} (pid=29025, uid=10149) with revoked permission android.permission.CAMERA at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
此错误是因为您的应用程序请求使用相机,但没有被授予相机权限。您需要在您的应用程序清单文件中声明相机权限,以便用户授予访问相机的权限。您可以在应用程序运行时请求相机权限,以便您的应用程序可以使用相机。您可以使用以下代码请求相机权限:
```
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.CAMERA}, MY_PERMISSIONS_REQUEST_CAMERA);
}
```
请确保在请求相机权限后,您的应用程序检查用户是否授予了该权限,并相应地执行操作。
Android Studio,出现以下情况E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.bhjm, PID: 5026 java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:xx cmp=com.android.server.telecom/.components.UserCallActivity } from ProcessRecord{1e2b14b 5026:com.example.bhjm/u0a78} (pid=5026, uid=10078) with revoked permission android.permission.CALL_PHONE at android.os.Parcel.readException(Parcel.java:1943)该怎么办
这个错误是因为你的应用在运行时没有被授予拨打电话的权限,所以无法启动拨打电话的 Intent。
你需要在应用的 AndroidManifest.xml 文件中添加以下代码,以请求拨打电话的权限:
```xml
<uses-permission android:name="android.permission.CALL_PHONE" />
```
此外,还需要在应用运行时动态请求权限。你可以使用以下代码在应用运行时请求拨打电话的权限:
```java
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CALL_PHONE}, 1);
}
```
这将弹出一个系统对话框,询问用户是否授予拨打电话的权限。用户授权后,你的应用将能够启动拨打电话的 Intent。
阅读全文