我使用以下代码在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中。
我写的代码中是否有错误或缺失?
由于
答案 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透视图中)。