Android: принудительное сканирование getContentResolver () при добавлении новых файлов - PullRequest
0 голосов
/ 18 июня 2020

Когда мое приложение запускается, я вызываю этот метод:

private String scanDeviceForMp3() {
String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
Cursor cursor = null;
List<Mp3DataModel> mp3DataList = new ArrayList<>();
String jsonMp3List = "";

String[] projection = {
        MediaStore.Audio.Media.DISPLAY_NAME,
        MediaStore.Audio.Media.ARTIST,
        MediaStore.Audio.Media.ALBUM,
        MediaStore.Audio.Media.DURATION,
        MediaStore.Audio.Media.SIZE,
        MediaStore.Audio.AudioColumns.DATA,
        MediaStore.Audio.Media.DATE_ADDED,
        MediaStore.Audio.Media.ALBUM_ID,
};
final String sortOrder = MediaStore.Audio.Media.DATE_ADDED + " COLLATE LOCALIZED DESC";

try {
    Log.e("TAG", "------------>");
    Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
    cursor = activity.getContentResolver().query(uri, projection, selection, null, sortOrder);
    if (cursor != null) {
        cursor.moveToFirst();
        while (!cursor.isAfterLast()) {...

И я получаю список файлов mp3.

Теперь я добавил новые mp3, подключив мобильный телефон к p c и копирует некоторые mp3-файлы во внешнее хранилище, но когда я запускаю приложение и вызываю `scanDeviceForMp3 () ', новые mp3-файлы не обнаруживаются, пока я не перезапущу мобильный телефон? * снова?

...