2

我使用以下代码在 SD 卡中创建了一个文件:

File outputFile = new File( Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "test.jpg" );
outputFile.createNewFile();
OutputStream outputStream = new FileOutputStream( outputFile );
mBitmap.compress( Bitmap.CompressFormat.JPEG, 95, outputStream );
outputStream.flush();
outputStream.close ();

当我尝试在我的计算机(通过 USB 连接的手机)中通过 Windows 资源管理器查看此文件浏览 SD 卡内容时,会显示所有 SD 卡文件夹和文件,但我的除外。Astro 显示文件,但不是缩略图。

最奇怪的是,这只发生在我的一部手机(三星 Galaxy X 手机)上,如果我重新启动这部手机,文件会同时显示在 Windows 资源管理器和 Astro 中的缩略图中。

我写的代码可能有问题或遗漏吗?

谢谢

4

2 回答 2

1

图像文件需要明确索引才能出现在图库中。我想其他应用程序可能正在使用相同的机制来获取缩略图。这是一些在您编写后将扫描新媒体文件的代码:

 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
 Uri uri = Uri.fromFile(outputFile);
 intent.setData(uri);
 sendBroadcast(intent);
于 2012-09-29T17:45:18.490 回答
0

也许后面有一些 Windows 缓存,以免不断轮询目录列表。尝试在资源管理器中按 F5 以查看文件是否出现。在任何情况下,文件都应该在 Eclipse 的手机文件资源管理器中可见(在 DDMS 透视图中)。

于 2012-09-29T18:30:28.770 回答