Android SD 卡创建的文件不可见

标签 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 ();

当我尝试在我的计算机(通过 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/

相关文章:

android - imageview的透视校正

android - 为什么 AVD Manager 中缺少 Intel x86 Atom System Image (API 15)

java - 如何将手机中的联系人导入到 Gmail 帐户

android-OnClickListener 不适用于回收适配器内的 View

Android:矩阵-> preconcat 和 postconcat 有什么区别?

Android Maven 编译失败

java - 使用应用程序 :srcCompat 自定义 ImageView 背景绘制

android - 如何在dagger 2中使子组件单例化?

android - TextInputEditText 的数据绑定(bind)和选择

android - 从照片或多媒体中挑选图片,而不是最近的图片