Как показать изображения в приложении «Галерея» на Xiaomi MIUI 8.1?

Эту проблему я обнаружил исключительно на устройстве Xiaomi Redmi Note 4 (MIUI Global 8.1, Marshmallow).

Поэтому я делаю приложение, которое генерирует растровое изображение и сохраняет его в папку FOOD. Я успешно сгенерировал изображение и сохранил его в папку FOOD.

Однако некоторые изображения не отображаются в приложении Галерея. В частности, приложение Галерея Xiaomi и Фото Google. Обратите внимание, что некоторые изображения ДЕЙСТВИТЕЛЬНО отображаются в приложении Галерея.

Мой вопрос:

  • Как показать изображения в галерее после сохранения изображения?
  • Что именно вызывает эту проблему?

Это действительно смущает меня, так как это работает на других устройствах с другой ОС.

Это то, что я пробовал до сих пор:

  • Я пробовал использовать 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);
            }
        });
    
  • Я также перезагрузил телефон, и он все еще не отображается.

  • В настройках я включил Показать скрытый альбом, но он тоже не отображается.

Текущий анализ:

  • Я не думаю, что есть проблема с самим изображением, потому что я могу видеть его через файловый менеджер.
  • Путь к изображению также должен быть правильным, так как некоторое изображение отображается в приложении «Галерея».

Примечание:

Я вижу обсуждение на форуме по этому поводу, и они предлагают стороннее приложение, такое как Rescan SD Card!. Но, очевидно, это было не то решение, которое я искал.


person aldok    schedule 17.11.2017    source источник


Ответы (1)


попробуйте это для saveImage и уведомите галерею

https://github.com/wuapnjie/StickerView/blob/master/sticker/src/main/java/com/xiaopo/flying/sticker/StickerUtils.java

person Hdk    schedule 21.11.2017
comment
Я полагаю, что вы имеете в виду использование MediaStore, однако он все еще не работает - person aldok; 22.11.2017