Я создал пример приложения, которое делает снимки и сохраняет их, следуя этому руководству . К сожалению, часть «Добавить фото в галерею» не работает. Я не получаю ошибки в logcat. Изображение просто не видно в галерее. Исходный код:
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(currentPhotoPath);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
Я попытался решить его, позвонив MediaScannerConnection.scanFile
:
MediaScannerConnection.scanFile(
getApplicationContext(),
new String[]{f.getAbsolutePath()},
null,
new MediaScannerConnection.OnScanCompletedListener() {
@Override
public void onScanCompleted(String path, Uri uri) {
Log.v("MyActivity", "file " + path + " was scanned successfully: " + uri);
}
});
Я получаю этот результат в logcat:
file /storage/emulated/0/Android/data/com.example.myapplication/files/Pictures/JPEG_20200804_104708_4760605263689075696.jpg was scanned successfully: content://media/external/file/3524
К сожалению изображение по-прежнему недоступно в галерее. Что я не так? Как можно отладить подобное?