如何访问 /storage/emulated/0/

44

我已经编写了一个代码来记录音频并将其保存到以下文件位置。

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文件夹。 - Hiren Patel
对于希望从外部访问目录的人(例如 Android 设备监视器),请参见此处 - BlueRaja - Danny Pflughoeft
很遗憾,这个问题没有明确指定文件是应该通过手机应用程序还是连接的计算机上的程序进行访问。 - PJTraill
16个回答

1
如果您在Mac上使用Android Studio中的模拟器,可以前往 View -> Tool Windows -> Device File Explorer。在这里,您可以使用类似Finder的结构。

尝试打开模拟文件夹时显示权限被拒绝。 - undefined

1
在我的情况下,/storage/emulated/0/ 对应于我的设备根路径。例如,当我使用手机默认相机应用程序拍照时,图像会自动保存/store/emulated/0/DCIM/Camera/mypicname.jpeg
例如,假设您想将图片存储在 /Pictures 目录中,即存在于根目录中的 Pictures 目录中。因此,您可以使用以下代码。
File storageDir = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES );

如果想要将图像保存在DCIM或Downloads目录中,请向上面显示的Environment.getExternalStoragePublicDirectory()方法提供以下参数。
Environment.DIRECTORY_DCIM
Environment.DIRECTORY_Downloads

然后指定您的图像名称:

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

然后按照下面所示创建文件对象。您需要将后缀作为第二个参数指定。
File image = File.createTempFile(
            imageFileName,  // prefix
            ".jpg",         // suffix
            storageDir      // directory
);

0

要从 /storage/emulated/0/ 恢复您的图片,只需打开 100Andro 文件夹。在那里,您将看到您的图片,尽管您可能无法在电脑浏览器中访问它们。然后逐个打开每张图片,点击设置(三个点...)并保存图片。它将出现在 Android 文件夹“图片”中,您也可以使用浏览器复制它们。但是,没有“全部保存”功能,因此必须逐个完成,但它有效。

QT


0

如果您正在使用Android设备监视器和Android模拟器:我是通过以下方式访问的: Data/Media/0/ 在此输入图像描述


该目录在所有设备上都不存在。 - IgorGanapolsky
已经过时。https://developer.android.com/studio/profile/monitor - toto_tata

0

-4

针对 Xamarin Android

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

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接