gpt4 book ai didi

java - 安全异常 : Permission Denial ACCESS_ALL_DOWNLOADS

转载 作者:行者123 更新时间:2023-11-29 02:35:30 31 4
gpt4 key购买 nike

我正在尝试使用 DownloadManager 下载文件。是的,我知道人们已经遇到了这个错误。但我的似乎没有解决。我每次都试过了。

我已经取消了这个权限:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_ALL_DOWNLOADS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

我的代码

public void startDownload(String str) {
try {
MarshmellowPermissions permissions = new MarshmellowPermissions(context);
permissions.checkWriteExternalStoragePermission();
DownloadManager mManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request mRqRequest = new DownloadManager.Request(Uri.parse(str));
mRqRequest.setDescription("This is Test File");
long idDownLoad = mManager.enqueue(mRqRequest);
mManager.remove(idDownLoad);
try {
mManager.openDownloadedFile(idDownLoad);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}

我在这一行中遇到错误

mManager.openDownloadedFile(idDownLoad);

这是错误日志:

java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.DownloadProvider uri content://downloads/all_downloads/15 from pid=3926, uid=10086 requires android.permission.ACCESS_ALL_DOWNLOADS, or grantUriPermission()

最佳答案

看起来好像还没有人回答这个问题,我已经解决了这个问题并想分享我是如何解决它的。所以基本上它没有用,因为我没有在运行时请求许可。

我所做的是请求运行时的许可。使用下面的代码。

ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);

关于java - 安全异常 : Permission Denial ACCESS_ALL_DOWNLOADS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47361213/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com