java - 如何在小米MIUI 8.1上的图库应用中显示图片?

标签 java android miui

这是我仅在小米红米 Note 4 设备(MIUI Global 8.1、Marshmallow)上发现的问题

所以我正在制作一个生成位图并将其保存到 FOOD 文件夹的应用程序。我已成功生成图像并将其保存到 FOOD 文件夹。

但是,某些图像不会显示在图库应用程序上。特别是小米的图库应用程序和谷歌的照片。请注意,某些图像确实会显示在图库应用程序上。

我的问题是:

  • 保存图片后如何在图库中显示图片?
  • 到底是什么导致了这个问题?

这真的让我很困惑,因为它可以在具有不同操作系统的其他设备上运行。

这是我迄今为止尝试过的:

  • 我尝试使用 Intent.ACTION_MEDIA_SCANNER_SCAN_FILEMediaScannerConnection.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/

相关文章:

java - 如何在使用 JAXB 从 schema(.xsd) 生成类期间将复杂类型转换为 java.lang.string

java - 无法从 Azure api 管理中的开发人员门户访问新的 api 服务

android - 如何在弦乐选择中播放不同的声音?

android - 通过 USB : The device is temporarily restricted 安装应用程序

android-usb - 通过 USB 安装无法正常工作 - 在 7.0 设备上

java - 从流加载 log4j

java - 无法在java程序中运行.bat文件

android - Syncano Android SDK - 将用户添加到组

iphone - iPhone 中录制的音频格式在 android 中也支持和播放

android - 后台定位服务在 oppo 和 MI 手机中不起作用