【问题标题】:How to access /storage/emulated/0/如何访问 /storage/emulated/0/
【发布时间】:2015-07-14 06:21:21
【问题描述】:

我已经编写了一段代码来录制音频并将其保存到下面的文件位置。

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 卡上找到此文件位置。如何访问该位置?

【问题讨论】:

  • 你必须安装文件管理器并找到 AudioRecorder 文件夹
  • 对于希望从外部访问目录(例如从 Android 设备监视器)的人,请参阅 here

标签: android android-sdcard android-file


【解决方案1】:

无需第三方应用

我的 Android 6.0 允许我在不需要第三方应用程序的情况下浏览实习记忆。我只是这样做*:

  1. “设置”
  2. “存储和 USB”
  3. “实习生”
  4. [让它加载一点...]
  5. [一直向下滚动]
  6. “浏览”

* 单词可能与标准英文版本不对应,因为我只是从葡萄牙语中随意翻译它们。

注意:至少在我的手机里,/storage/emulated/0不对应SD卡,而是实习记忆。此方法不适用于我的外部卡,但我从未在其他手机上尝试过。

希望这会有所帮助!

【讨论】:

  • 这太他妈的了!在我的情况下,我可以在这个视图中看到照片......但是当连接到 USB 并在资源管理器中查看时,我在同一个文件夹下看到了不同的东西。谢谢,我从来没有想过那个。
【解决方案2】:

您也可以使用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>

【讨论】:

    【解决方案3】:

    正如 Hiren 所说,您需要一个文件资源管理器才能查看您的目录。如果你是 root 我强烈推荐 root explorer,否则 ES File Explorer 是一个不错的选择。

    【讨论】:

    • 谢谢。我可以使用蓝牙文件传输资源管理器进行定位。为答案 +1。
    • 所以“文件管理器”Android 上处理文件的默认应用程序无法访问该文件夹?
    • ES 文件资源管理器在 Android 7 上没有为我显示此目录。
    • ES File Explorer 是一款很棒的应用,但不幸的是 Google 删除了它:androidpolice.com/2019/04/27/…
    【解决方案4】:

    插入您的设备并运行adb shell,它将在您的设备上获得一个命令外壳。您无权阅读/storage/emulated/,但既然您知道它位于子目录 0 中,只需转到 cd /storage/emulated/0,您就可以环顾四周并进行交互。

    注意:您也可以无线使用adb

    【讨论】:

    • 是的,我完成了上述操作,现在我在提示符处 127|shell@pplus:/storage/emulated/0 $ 。我应该如何“环顾四周并进行交互”?我偶然发现cd 作为更改目录的命令,所以我尝试了cd data。 /system/bin/sh: cd: /storage/emulated/0/data: 没有这样的文件或目录。
    • 我刚试过,感觉可能会发生两件事。您是否做了ls 并确保data/ 在文件夹中。也可以试试/storage/emulated/1
    【解决方案5】:

    试试这个

    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");
    }
    

    【讨论】:

      【解决方案6】:

      在模拟器中,要查看此文件,请单击设置>存储>其他>Android>数据>com.companyname.textapp>文件>下载。 这里,textapp 是您正在开发的应用程序的名称。

      【讨论】:

        【解决方案7】:

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

        昂贵的玩具先生说: 很惊讶这个问题在 Honeycomb 就已经开始出现了。

        因此,/storage/emulated/0/DCIM/Camera 与您的普通 DCIM/Camera 文件夹是同一个文件夹。它只是一个符号链接。因此,文件实际上位于正确的位置,您只需有一个将不良数据放入 MediaStore 数据库的应用程序。

        从您的 PC 访问文件时,您实际上是在枚举 MediaStorage 数据库中的文件。它不是拉传统的目录列表。因此,您看到的内容是基于该数据库中的内容和数据库中的路径条目。数据库中指向模拟目录的文件未显示,因为它们被假定为与您的正常 DCIM/Camera 相同的物理目录重复。发生的情况是,一些编写不佳的第三方应用程序使用 /storage/emulated/0/DCIM/Camera 路径而不是 DCIM/Camera 的正确根路径将条目插入数据库。这意味着当您连接到您的 PC 时,MTP 服务无法看到它们。

        通常最简单的解决问题的方法是清除 MediaStore 数据库以从 MediaStore 数据库中取出错误条目,让系统重新索引文件并使用正确的路径放入数据库。

        设置->应用 点击右上角的 3 点菜单并选择显示系统 找到媒体存储,选择它,选择存储,然后清除数据 找到外部存储,选择它,选择存储,然后清除数据 关闭手机,重新打开手机,等待索引器服务重建数据。

        完成后,文件应显示在正确的目录树中,并且可以从 PC 中看到。根据手机上的文件数量,在服务遍历手机目录、获取元数据、创建缩略图等过程中,重建媒体数据库可能需要 10-20 分钟。

        【讨论】:

          【解决方案8】:

          Android 建议您在路径名中调用 Environment.getExternalStorageDirectory.getPath() 而不是硬编码 /sdcard/。这将返回主要的共享/外部存储目录。因此,如果模拟存储,这将返回/storage/emulated/0。如果您使用文件资源管理器浏览设备存储,则该目录将为/mnt/sdcard(在运行 Android 6 的 Xperia Z2 上确认)。

          【讨论】:

          • 没错。在 Android 5.0(Lollipop,API 21)上,我可以获得一个带有 adb pull /mnt/sdcard/AudioRecording.3gp . 的文件,其路径由 Environment.getExternalStorageDirectory().getAbsolutePath() + "/AudioRecording.3gp" 语句设置。
          【解决方案9】:

          在这里,它位于 /mnt/shell/emulated/0

          【讨论】:

            【解决方案10】:

            试试吧

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

            指向/storage/emulated/0

            【讨论】:

              【解决方案11】:

              在我的例子中,/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
              );
              

              【讨论】:

                【解决方案12】:

                如果您在 Mac 上的 Android Studio 中使用模拟器,您可以转到 View -&gt; Tool Windows -&gt; Device File Explorer。在这里您可以使用类似 finder 的结构。

                【讨论】:

                  【解决方案13】:

                  如果您使用的是 Android 设备监视器和 android 模拟器:我已通过以下方式访问: 数据/媒体/0/

                  【讨论】:

                  【解决方案14】:

                  要从 /storage/emulated/0/ 恢复您的图片,只需打开 100Andro 文件..您将看到您的图片,尽管您可能无法在您的电脑资源管理器中访问它们。在那里一张一张地打开每张图片,继续设置(三个点..)并保存图片。它将显示在 android 文件“图片”中,您也可以使用资源管理器从中复制它们。没有“全部保存”功能,但必须一个一个完成,但它有效。

                  QT

                  【讨论】:

                    【解决方案15】:

                    使用设备文件资源管理器查看设备上文件

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

                    【讨论】:

                      【解决方案16】:

                      对于 Xamarin Android

                      使用命令 //获取文件目录

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

                      然后在命令中 adb pull //这里是图片文件路径

                      【讨论】:

                        猜你喜欢
                        • 2018-11-05
                        • 2016-11-07
                        • 2020-05-19
                        • 2021-10-14
                        • 1970-01-01
                        • 2014-06-30
                        • 1970-01-01
                        • 2020-01-09
                        • 1970-01-01
                        相关资源
                        最近更新 更多