我使用以下代码在 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 中的缩略图。
我写的代码会不会有什么错误或遗漏的地方?
谢谢
最佳答案
图像文件需要明确索引才能出现在图库中。我想其他应用程序可能正在使用相同的机制来获取缩略图。下面是一些将在您编写后立即扫描新媒体文件的代码:
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.fromFile(outputFile);
intent.setData(uri);
sendBroadcast(intent);
关于Android SD 卡创建的文件不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654432/