簡體   English   中英

在android中獲取可移動SD卡路徑

[英]get removable sd card path in android

如何在android中獲取extSdcard路徑?

有 2 個存儲,第一個外部存儲,所有手機都擁有它,第二個存儲稱為可移動存儲(微型 sdcard)。

我想在android中獲取micro sdcard的路徑,這怎么可能?

從 KitKat 開始,您可以訪問獲取該目錄的方法:

Context.getExternalFilesDirs()

請注意,如果在訪問過程中未安裝或移動 SD 卡,它可能會返回 null。 此外,您可能需要將這些權限添加到您的清單文件中:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

顯然有些用戶在使用這種方法時遇到了問題,沒有返回 SD 卡路徑。 我在這篇文章中找到了一些關於它如何工作以及它如何不依賴於設備的有用信息。

檢查此https://developer.android.com/guide/topics/data/data-storage.html#filesExternal以獲取完整參考,因為您需要定義讀取和寫入外部 SD 的權限,上述鏈接中也有代碼在執行任何操作之前檢查 SD 卡是否可用

以下對我有用!

File[] Dirs = ContextCompat.getExternalFilesDirs(this.getApplicationContext(), null);
File path = (Dirs[1]);
String pathSD = Dirs[1].toString();
int firstOpen = pathSD.indexOf("/");
int secondOpen = pathSD.indexOf("/", firstOpen + 1);
int thirdOpen = pathSD.indexOf("/", secondOpen + 1);
String filename = pathSD.substring(firstOpen, thirdOpen + 1);
path = new File(filename);

從 API 級別 24 開始,您可以使用 StorageManager 類:

https://developer.android.com/reference/android/os/storage/StorageManager#getStorageVolumes()

暫無
暫無

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

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