我编写了一段代码来录制音频并将其保存到文件位置下方。
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卡上找到此文件位置。如何访问该位置?
答案 0 :(得分:23)
我的Android 6.0允许我浏览实习内存而无需第三方应用。我只是这样做*:
*单词可能与标准英文版本不对应,因为我只是自由地将它们翻译成葡萄牙语。
注意:至少在我的手机中,/storage/emulated/0
与SD卡不对应,而与实习内存相对应。这种方法对我的外卡不起作用,但我从未尝试过另一部手机。
希望这有帮助!
答案 1 :(得分:9)
此外,您可以使用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>
答案 2 :(得分:7)
正如Hiren所说,您需要一个文件浏览器来查看您的目录。如果您已经扎根,我强烈建议使用root explorer,否则ES File Explorer是个不错的选择。
答案 3 :(得分:3)
插入您的设备并运行adb shell
,它将为您提供设备上的命令shell。您无权阅读/storage/emulated/
,但由于您知道它位于子目录0中,只需转到cd /storage/emulated/0
,您就可以环顾四周并按照预期进行互动。
注意:您也可以无线使用adb
答案 4 :(得分:2)
试试这个
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");
}
答案 5 :(得分:2)
在模拟器中,要查看此文件,请单击设置&gt;存储&gt;其他&gt; Android&gt;数据&gt; com.companyname.textapp&gt;文件&gt;下载。 在这里,textapp是您正在使用的应用程序的名称。
答案 6 :(得分:2)
这里,它位于/ mnt / shell / emulated / 0
答案 7 :(得分:1)
答案 8 :(得分:1)
从
尝试ftp://ip_my_s5:2221/mnt/sdcard/Pictures/Screenshots
指向/storage/emulated/0
答案 9 :(得分:1)
就我而言, / 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
);
答案 10 :(得分:1)
Android建议您在路径名中调用Environment.getExternalStorageDirectory.getPath()
而不是硬编码/sdcard/
。这将返回主共享/外部存储目录。因此,如果存储被模拟,则返回/storage/emulated/0
。如果您使用文件资源管理器浏览设备存储,则所述目录将为/mnt/sdcard
(在运行Android 6的Xperia Z2上确认)。
答案 11 :(得分:0)
要从/ storage / emulated / 0 /恢复您的图片,只需打开100Andro文件即可。虽然您可能无法在PC资源管理器中访问它们,但您将看到它们的图片。逐个打开每张图片,继续设置(三个点......)并保存图片。它将显示在android文件中。&#39; Pictures&#39;您也可以使用资源管理器复制它们。没有“全部保存”#39;功能,但是它必须一个接一个地完成,但它可以工作。
QT
答案 12 :(得分:0)
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数据库中取出错误的条目,让系统重新索引文件并使用正确的路径放入数据库。
设置&GT;应用 点击右上角的3点菜单,然后选择显示系统 查找媒体存储,选择它,选择存储,然后清除数据 查找外部存储,选择它,选择存储,然后选择清除数据 关闭手机,重新打开手机,等待索引器服务重建数据。
完成后,文件应显示正确的目录树,并可从PC上看到。根据手机上的文件数量,重建媒体数据库需要10-20分钟,因为服务遍历电话目录,获取元数据,创建缩略图等。
答案 13 :(得分:0)
使用设备文件资源管理器查看设备上的文件
https://developer.android.com/studio/debug/device-file-explorer
答案 14 :(得分:0)
如果您在Mac上的Android Studio中使用模拟器,则可以转到View -> Tool Windows -> Device File Explorer
。在这里,您可以使用类似查找器的结构。
答案 15 :(得分:-1)
使用命令 //获取文件目录
Image image =new Image() { Source = file.Path };
然后在命令中 adb pull //这里的图像文件路径