簡體   English   中英

如何使用存儲訪問框架訪問“/storage/emulated/0/Android/media/”?

[英]How to get access to "/storage/emulated/0/Android/media/" using Storage Access Framework?

我正在開發一個應用程序,我想訪問“/storage/emulated/0/Android/media/com.whatsapp/WhatsApp/Media/.Statuses”來為我的應用程序獲取狀態文件夾中的數據。

您是否必須使用存儲訪問框架? 如果您有權訪問所描述的目錄,則應該能夠使用 Java“文件”庫來執行所有文件/目錄訪問任務。

它的 android 11 問題要訪問該文件夾,您需要所有文件訪問權限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
    android:maxSdkVersion='28'/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> //---This

請務必征得該許可。

我已經能夠通過將目標 SDK 版本降級到“29”來解決這個問題

以下是您需要做的:

1-在Android Manifest文件中寫入

...
 <application
        android:requestLegacyExternalStorage="true"
...

2- 在應用級 build.grade 文件中,將目標 SDK 設為“29”。 在 build.grade 文件中添加以下程序:

...
android {
  defaultConfig {
    minSdkVersion 19
    targetSdkVersion 29
  }
}
...

另外,請注意 targetSdkVersion 30 會導致 android:requestLegacyExternalStorage="true" 被忽略,所以我們必須將它降級到 29 (Android 10) 才能讓這個東西工作

暫無
暫無

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

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