无法在Android上从计算机上看到外部存储中公开创建的文件

时间:2015-10-23 02:04:02

标签: android

我想将一个稍大的json字符串保存到文件中,然后从我的计算机访问它,这样我就可以查看它并放入一个json验证器来找出我的问题所在。这仅用于调试。 我已经尝试保存到内部和外部存储,但我不能访问我的文件终生。 我可以从adb shell看到它,但是当我尝试adb拉它时,它不在那里。

我也可以在设备上看到来自其他应用程序(如DropBox)的文件,但我无法从计算机上看到它。

这是我尝试过的最新代码,应将其放在公共下载文件夹中,但它不在那里:

File path = Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_DOWNLOADS);
path.mkdir();

externalFile = new File(path,JSON_FILE_NAME);

OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(externalFile));
//write stuff
out.close()

我已添加写入外部存储空间的权限。

1 个答案:

答案 0 :(得分:2)

当您使用MTP查看PC上的文件时,只有在MediaScanner找到它们后才会显示它们。您可以使用以下代码强制MediaScanner扫描您的文件:

MediaScannerConnection.scanFile(getApplicationContext(),
            new String[]{externalFile.toString()}, null, null);