Задать вопрос
@Yurevich1

Как правильно удалять файлы SD Card на Android, который подсоединён к компьютеру при помощи MTP?

Задача такая.
Приложение удаляет файлы и создаёт новые файлы на SD Card. При этом телефон подключен к компьютеру.
Для того чтобы компьютер, который подсоединён по MTP, увидел новые файлы, используется после создания файла следующий метод, который работает.
MediaScannerConnection.scanFile (this, new String[] {file.toString()}, null, null);

Но с удалением файлов проблема - удалённые файлы всё равно отображаются в проводнике ( или любом другом файловом менеджере). Но в файловом менеджере телефона удалённые файлы отсутствуют.
Для обновления списка удалённых файлов я использовал выше приведённый метод, также
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
и вот это:
public static void RemoveAllForPaths(String[] paths, Context context)
{
    private static final String[] FIELDS = { MediaStore.MediaColumns._ID, MediaStore.MediaColumns.DATA, MediaStore.MediaColumns.TITLE };
    if(paths == null || paths.length == 0) return;
    String select = "";
    for(String path : paths)
    {
        if(!select.equals("")) select += " OR ";
        select += MediaStore.MediaColumns.DATA + "=?";
    }

    Uri uri;
    Cursor ca;

    uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
    ca = context.getContentResolver().query(uri, FIELDS, select, paths, null);
    for(ca.moveToFirst(); !ca.isAfterLast(); ca.moveToNext()){
        int id = ca.getInt(ca.getColumnIndex(MediaStore.MediaColumns._ID));
        uri = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, id);
        context.getContentResolver().delete(uri, null, null);
    }
    ca.close();

    // More of the same just setting the URI to Video and Images
}

но всё тщетно - удалённые файлы всё равно отображаются, до тех пор пока не выдернешь USB-шнур и его обратно не засунешь. Кто-нибудь решил эту проблему?
  • Вопрос задан
  • 3856 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
м.б., необходимо производить размонтирование/монтирование SD-карты
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы