delete Audio File From Media Provider - Android android.media

Android examples for android.media:Audio

Description

delete Audio File From Media Provider

Demo Code

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore.Audio;
import android.util.Log;

public class Main {

  private static final String t = "MediaUtils";

  public static final int deleteAudioFileFromMediaProvider(Context ctxt, String audioFile) {
    if (audioFile == null)
      return 0;/*from  w  w  w.  ja  v  a 2s .  c  o  m*/

    ContentResolver cr = ctxt.getContentResolver();
    // audio
    int count = 0;
    Cursor audioCursor = null;
    try {
      String select = Audio.Media.DATA + "=?";
      String[] selectArgs = { audioFile };

      String[] projection = { Audio.AudioColumns._ID };
      audioCursor = cr.query(android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection, select,
          selectArgs, null);
      if (audioCursor.getCount() > 0) {
        audioCursor.moveToFirst();
        List<Uri> audioToDelete = new ArrayList<Uri>();
        do {
          String id = audioCursor.getString(audioCursor.getColumnIndex(Audio.AudioColumns._ID));

          audioToDelete.add(Uri.withAppendedPath(android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, id));
        } while (audioCursor.moveToNext());

        for (Uri uri : audioToDelete) {
          Log.i(t, "attempting to delete: " + uri);
          count += cr.delete(uri, null, null);
        }
      }
    } catch (Exception e) {
      Log.e(t, e.toString());
    } finally {
      if (audioCursor != null) {
        audioCursor.close();
      }
    }
    File f = new File(audioFile);
    if (f.exists()) {
      f.delete();
    }
    return count;
  }

}

Related Tutorials