【问题标题】:Android SD card created file not visibleAndroid SD 卡创建的文件不可见
【发布时间】:2012-09-29 16:36:46
【问题描述】:

我使用以下代码在 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 中的缩略图中。

我写的代码会不会有什么错误或遗漏?

谢谢

【问题讨论】:

标签: android


【解决方案1】:

图像文件需要显式索引才能显示在图库中。我想其他应用程序可能正在使用相同的机制来获取缩略图。下面是一些代码,可以在您编写新媒体文件后立即对其进行扫描:

 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
 Uri uri = Uri.fromFile(outputFile);
 intent.setData(uri);
 sendBroadcast(intent);

【讨论】:

  • 是的,发送这个广播解决了这个问题。非常感谢!
【解决方案2】:

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

【讨论】:

  • 试过F5(刷新),但没用;文件在 DDMS 中是可见的。谢谢
猜你喜欢
  • 1970-01-01
  • 2013-07-24
  • 1970-01-01
  • 2012-10-08
  • 2023-03-13
  • 1970-01-01
  • 2016-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多