这是我在小米红米 Note 4 设备上发现的问题(MIUI Global 8.1,Marshmallow)
所以我正在制作一个生成位图并将其保存到 FOOD 文件夹的应用程序。我已成功生成图像并将其保存到 FOOD 文件夹。
但是,某些图像不会显示在 Gallery App 上。特别是小米的图库应用和谷歌的照片。请注意,某些图像确实会显示在 Gallery App 上。
我的问题是:
- 保存图像后如何在图库中显示图像?
- 究竟是什么导致了这个问题?
这真的让我很困惑,因为它适用于具有不同操作系统的其他设备。
这是我到目前为止所尝试的:
我试过使用
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE
andMediaScannerConnection.scanFile
。try { String fileName = imagePath.substring(imagePath.lastIndexOf("/") + 1); MediaStore.Images.Media.insertImage(H5Environment.getContext().getContentResolver(), imagePath, fileName, null); } catch (Exception e) { DanaLog.e(TAG, e); } Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri contentUri = Uri.fromFile(new File(imagePath)); mediaScanIntent.setData(contentUri); sendBroadcast(mediaScanIntent); MediaScannerConnection.scanFile(this, new String[]{imagePath}, new String[]{"image/png"}, new MediaScannerConnection.OnScanCompletedListener() { @Override public void onScanCompleted(String path, Uri uri) { Log.d(TAG, "scan complete " + path); } });
我也重启了手机,还是不显示。
- 在设置中,我启用了显示隐藏的相册,但它也没有显示。
当前分析:
- 我认为图像本身没有问题,因为我可以通过文件管理器看到它。
- 图像路径也应该正确,因为画廊应用程序中显示了一些图像。
笔记:
我看到有关此的论坛讨论,他们建议使用 3rd 方应用程序,例如重新扫描 SD 卡!但很明显,这不是我正在寻找的解决方案。