我的應用程式以最小 SDK 21 為目標 API 30,我<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />在我的Manifest檔案中擁有權限并且它也被授予。但是,需要將專案從我們的服務器下載到 DCIM 檔案夾。
我使用該DownloadManager.Request函式在 DCIM 中下載的代碼片段:
val request = DownloadManager.Request(Uri.parse(url))
request.setTitle(title)
request.setDescription(description)
request.setMimeType(mimeType)
request.setDestinationInExternalPublicDir(
Environment.DIRECTORY_DCIM "/" myFolderName?:"",
fileName)
這失敗并顯示錯誤訊息:
java.lang.IllegalStateException:不是標準目錄之一:DCIM/myFolderName
任何幫助或想法將不勝感激。
uj5u.com熱心網友回復:
通讀此鏈接。它在 Android 11 中受到限制。
https://developer.android.com/about/versions/11/privacy/storage
uj5u.com熱心網友回復:
我有權限
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />。
不需要能夠在公共 DCIM 目錄中創建檔案。
每個應用程式都可以在那里創建檔案。但它應該是擴展名為 .jpg、.png、.webp、.. 的影像檔案。
不接受 .pdf 檔案或 .doc。
你為什么不說是什么檔案?
request.setDestinationInExternalPublicDir( Environment.DIRECTORY_DCIM "/" myFolderName?:"", fileName)
那應該是:
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DCIM), myFolderName?:"", fileName)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/364476.html
上一篇:AndroidStudio中的“需要Wifi權限限制了僅支持以太網的電視上的應用程式可用性”警告-對此有什么辦法嗎?
