簡體   English   中英

如何訪問 /storage/emulated/0/

[英]How to access /storage/emulated/0/

我編寫了一個代碼來錄制音頻並將其保存到以下文件位置。

private String getFilename() {
    String filepath = Environment.getExternalStorageDirectory().getPath();
    File file = new File(filepath, AUDIO_RECORDER_FOLDER);
    if (!file.exists()) {
        file.mkdirs();
    }
    return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + file_exts[currentFormat]);
}

在 Logcat 中,它給了我一個文件位置

/storage/emulated/0/AudioRecorder/1436854479696.mp4

我無法在我的 SD 卡上找到這個文件位置。 如何訪問該位置?

無需第三方應用

我的 Android 6.0 允許我在不需要第三方應用程序的情況下瀏覽實習生內存。 我只是這樣做*:

  1. “設置”
  2. “存儲和 USB”
  3. “實習生”
  4. [讓它加載一點...]
  5. [一直向下滾動]
  6. “瀏覽”

* 單詞可能與標准英文版本不符,因為我只是隨意從葡萄牙語翻譯它們。

注意:至少在我的手機中, /storage/emulated/0不是對應於 SD 卡,而是對應於intern memory 這種方法不適用於我的外置卡,但我從未在其他手機上嘗試過。

希望這可以幫助!

您也可以使用Android Debug Bridge (adb)將文件從 Android 設備復制到 PC 上的文件夾:

adb pull /storage/emulated/0/AudioRecorder/1436854479696.mp4 <folder_on_your_PC_e.g. c:/temp>

您可以從設備的整個AudioRecorder文件夾中復制:

adb pull /storage/emulated/0/AudioRecorder <folder_on_your_PC_e.g. c:/temp>

正如 Hiren 所說,您需要一個文件瀏覽器來查看您的目錄。 如果你已經 root,我強烈建議你使用 root explorer,否則 ES File Explorer 是一個不錯的選擇。

插入您的設備並運行adb shell ,這將在您的設備上獲得一個命令 shell。 您無權讀取/storage/emulated/但因為您知道它在子目錄 0 中,只需轉到cd /storage/emulated/0就可以環顧四周並按方面進行交互。

注意:您也可以無線使用adb

嘗試這個

private String getFilename() {
    String filepath = Environment.getExternalStorageDirectory().getPath();
    File file = new File(filepath + "/AudioRecorder" );
    if (!file.exists()) {
        file.mkdirs();
    }
    return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + ".mp4");
}

在模擬器中,點擊設置>存儲>其他>Android>數據>com.companyname.textapp>文件>下載來查看這個文件。 在這里, textapp 是您正在處理的應用程序的名稱。

https://productforums.google.com/forum/#!msg/nexus/WIcHUNQfRLU/ALpViG86AwAJ

昂貴的玩具先生說: 我很驚訝這個問題仍然出現,因為它早在 Honeycomb 就開始發生了。

因此,/storage/emulated/0/DCIM/Camera 與正常的 DCIM/Camera 文件夾是同一個文件夾。 它只是一個符號鏈接。 所以這些文件實際上位於正確的位置,您只是有一個將不良數據放入 MediaStore 數據庫的應用程序。

從您的 PC 訪問文件時,您實際上是在為文件枚舉 MediaStorage 數據庫。 它不是拉傳統的目錄列表。 因此,您看到的內容基於該數據庫中的內容以及數據庫中的路徑條目。 數據庫中指向模擬目錄的文件不會顯示,因為它們被認為是重復的,因為它與普通 DCIM/相機的物理目錄相同。 正在發生的事情是,一些編寫不佳的第三方應用程序正在使用 /storage/emulated/0/DCIM/Camera 路徑而不是 DCIM/Camera 的正確根路徑將條目插入到數據庫中。 這意味着當您連接到 PC 時,MTP 服務無法看到它們。

通常解決問題的最簡單方法是清除 MediaStore 數據庫以從 MediaStore 數據庫中取出錯誤條目,並讓系統重新索引文件並以正確的路徑放入數據庫。

設置->應用點擊右上角的 3 點菜單並選擇顯示系統查找媒體存儲,選擇它,選擇存儲,然后清除數據查找外部存儲,選擇它,選擇存儲,然后清除數據關閉手機,重新打開手機,等待索引器服務重建數據。

完成后,文件應該顯示在正確的目錄樹中,並且可以從 PC 上看到。 根據手機上的文件數量,重建媒體數據庫可能需要 10-20 分鍾,因為服務會遍歷手機目錄、獲取元數據、創建縮略圖等。

在這里,它位於 /mnt/shell/emulated/0

Android 建議您在路徑名中調用Environment.getExternalStorageDirectory.getPath()而不是硬編碼/sdcard/ 這將返回主共享/外部存儲目錄。 所以,如果存儲被模擬,這將返回/storage/emulated/0 如果您使用文件瀏覽器瀏覽設備存儲,則所述目錄將為/mnt/sdcard (在運行 Android 6 的 Xperia Z2 上確認)。

試試從

ftp://ip_my_s5:2221/mnt/sdcard/Pictures/Screenshots

指向/storage/emulated/0

就我而言, /storage/emulated/0/ 對應於我設備的根路徑 例如,當我使用手機的默認相機應用程序拍照時,圖像會自動保存/store/emulated/0/DCIM/Camera/mypicname.jpeg

例如,假設您想將您的圖片存儲在/Pictures 目錄中,即根目錄中存在的Pictures 目錄中。 所以你使用下面的代碼。

File storageDir = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES );

如果要將圖像保存在 DCIM 或下載目錄中,請為上面顯示的 Environment.getExternalStoragePublicDirectory() 方法提供以下參數。

Environment.DIRECTORY_DCIM
Environment.DIRECTORY_Downloads

然后指定您的圖像名稱:

String imageFileName = "JPEG_" + timeStamp + "_";

然后創建文件對象,如下所示。 您將后綴指定為第二個參數。

File image = File.createTempFile(
            imageFileName,  // prefix
            ".jpg",         // suffix
            storageDir      // directory
);

如果您在 Mac 上的 Android Studio 中使用模擬器,您可以轉到View -> Tool Windows -> Device File Explorer 在這里,您可以使用類似 finder 的結構。

如果您使用的是 Android 設備監視器和 android 模擬器:我已通過以下方式訪問:Data/Media/0/ 在此處輸入圖片說明

要從 /storage/emulated/0/ 恢復您的圖片,只需打開 100Andro 文件..在那里您將看到您的圖片,盡管您可能無法在您的 PC 資源管理器中訪問它們。 將每張圖片一張一張打開,繼續設置(三個點..)並保存圖片。 它將顯示在 android 文件“圖片”中,您也可以使用資源管理器從中復制它們。 沒有“全部保存”功能,因此必須一一完成,但它有效。

QT

使用設備文件資源管理器查看設備文件

https://developer.android.com/studio/debug/device-file-explorer

適用於 Xamarin Android

使用命令 //獲取文件目錄

Image image =new Image() { Source = file.Path };

然后在命令 adb pull //這里的圖像文件路徑

暫無
暫無

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

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