簡體   English   中英

SecurityException:權限被拒絕ACCESS_ALL_DOWNLOADS

[英]SecurityException: Permission Denial ACCESS_ALL_DOWNLOADS

我正在嘗試使用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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM