这是我仅在小米红米 Note 4 设备(MIUI Global 8.1、Marshmallow)上发现的问题
所以我正在制作一个生成位图并将其保存到 FOOD 文件夹的应用程序。我已成功生成图像并将其保存到 FOOD 文件夹。
但是,某些图像不会显示在图库应用程序上。特别是小米的图库应用程序和谷歌的照片。请注意,某些图像确实会显示在图库应用程序上。
我的问题是:
- 保存图片后如何在图库中显示图片?
- 到底是什么导致了这个问题?
这真的让我很困惑,因为它可以在具有不同操作系统的其他设备上运行。
这是我迄今为止尝试过的:
我尝试使用
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE
和MediaScannerConnection.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); } });
我也重启了手机,但还是没有显示。
- 在“设置”中,我启用了“显示隐藏相册”,但它也没有显示。
当前分析:
- 我认为图像本身没有问题,因为我可以通过文件管理器看到它。
- 图像路径也应该正确,因为某些图像显示在图库应用程序中。
注意:
我看到一个关于此问题的论坛讨论,他们建议使用第 3 方应用程序,例如重新扫描 SD 卡!。但显然,这不是我正在寻找的解决方案。
最佳答案
尝试此方法来保存图像并通知图库
关于java - 如何在小米MIUI 8.1上的图库应用中显示图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47350127/