Android SD卡创建的文件不可见

时间:2012-09-29 16:36:46

标签: android

我使用以下代码在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 ();

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

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

我写的代码中是否有错误或缺失?

由于

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

为了不连续轮询目录列表,可能会有一些Windows缓存。尝试在资源管理器中点击F5以查看文件是否出现。在任何情况下,文件都应该在Eclipse的手机文件资源管理器中显示(在DDMS透视图中)。