Эту проблему я обнаружил исключительно на устройстве 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!. Но, очевидно, это было не то решение, которое я искал.