簡體   English   中英

未顯示WRITE_EXTERNAL_STORAGE的權限對話框

[英]Permission dialog is not shown for WRITE_EXTERNAL_STORAGE

在此處輸入圖片說明 我想使用DownloadManager下載文件。 而且DownloadManager想要WRITE_EXTERNAL_STORAGE權限。 我在AndroidManifest.xml包含了WRITE_EXTERNAL_STORAGE權限。 此外,我嘗試在運行時獲得此許可。

請求權限后立即調用onRequestPermissionsResult回調。 沒有顯示請求權限彈出窗口。

但是, onRequestPermissionsResult上的grantResult[0]的值為PERMISSION_DENIED 但是,甚至沒有顯示“權限彈出窗口”。

我檢查這樣的許可:

public  boolean isStoragePermissionGranted() {
    if (Build.VERSION.SDK_INT >= 23) {
        if (checkSelfPermission(getContext(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
                == PackageManager.PERMISSION_GRANTED) {
            Log.v(TAG,"Permission is granted");
            return true;
        } else {

            Log.v(TAG,"Permission is revoked");
            ActivityCompat.requestPermissions(getActivity(), new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_EXTERNAL_PERMISSION_REQUEST_CODE);
            return false;
        }
    }
    else {
        Log.v(TAG,"Permission is granted");
        return true;
    }
}

這是權限請求的回調:

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode) {
        case WRITE_EXTERNAL_PERMISSION_REQUEST_CODE: {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                downloadFile();
            }
            break;
        }
    }
}

當我嘗試獲得READ_EXTERNAL_STORAGE權限時,我可以獲取該權限,但對WRITE_EXTERNAL_STORAGE權限卻無效。

另外,我嘗試了@MetaSnarf的解決方案。 但是什么都沒有改變。

您對這種情況有任何想法嗎?

您的依賴項之一可能導致該問題。 您可以替換清單中的權限。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace" />

暫無
暫無

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

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