MediaStore показывает изображения после удаления из файлового менеджера
Я использую MediaStore, чтобы получить все изображения с устройства Android. Затем после того, как я удалю некоторые изображения из файлового менеджера. Затем я снова использую MediaStore для получения изображений и получаю все удаленные файлы, что является проблемой.
Почему MediaStore возвращает файлы, которых больше нет на устройстве (удалено с устройства)?
Код, который я использую для получения изображения из MediaStore.
Uri uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projection = {MediaStore.MediaColumns.DATA, MediaStore.Images.Media.BUCKET_DISPLAY_NAME};
Cursor cursor = activity.getContentResolver().query(uri, projection, null, null, MediaStore.MediaColumns.DATE_ADDED + " DESC");
String ImagePath = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA));
Помогите решить эту проблему.
2 ответа
Почему MediaStore возвращает файлы, которых больше нет на устройстве (удалено с устройства)?
Потому что какой бы файловый менеджер вы ни использовали, он ничего не делал для MediaStore
об удалении файлов. MediaStore
узнаю в конце концов, но это может занять несколько часов.
Вы можете повторно сканировать медиа, используя следующий код
MediaScannerConnection.scanFile(context, new String[]{imagePath}, null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
//something that you want to do
}
});