簡體   English   中英

如何在Android 7.0中從SD卡讀取文件?

[英]How can one read files from an SD card in Android 7.0?

對於以前的電話(Android 4.0),我編寫了一個應用程序,該應用程序使用通過USB電纜從PC復制到SD卡的數據文件。 根據許多站點的建議,該應用程序使用Environment.getExternalStorageDirectory()來檢索文件。

在裝有Android 7.0的電話上,此應用不再可用。 Environment.getExternalStorageDirectory()返回映射到內部存儲的“存儲/模擬/ 0 /”。 我嘗試了getExternalStoragePublicDirectory,但這引用了相同的位置。

所以我嘗試了一個硬編碼的“ / sdcard”。 這也沒有引用SD卡。 從應用程序將測試文件寫入該位置時,我使用內部存儲器中的File Commander應用程序找到了該文件,但是使用PC上的Windows資源管理器在內部存儲器中或SD卡上都找不到該文件,因此它我不清楚它到底在哪里。 在我的網絡搜索中,我看到了對/ sdcard0和/ sdcard1的引用,但對它們進行測試后發現它們在我的電話上都不存在。

因此,我的主要問題是:鑒於getExternalStorageDirectory()不提供此功能,我如何獲得Android 7.0及更高版本中SD卡的根目錄?

還有一個附屬問題:沒有獲取外部存儲目錄的getExternalStorageDirectory()函數的作用是什么?

您可以查看getExternalFilesDirs()返回的第二項,以在SD卡上找到您的應用程序特定目錄。

但是,如果您想將應用程序更新為現代標准,請使用Intent.ACTION_OPEN_DOCUMENT_TREE和或StorageVolumes來查看Storage Access Framework

暫無
暫無

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

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