SDカード内の画像を削除する方法
すこしハマったんでメモ。
ContentProviderからレコードを削除するにはdeleteメソッドを使うんですが
deleteコマンドを発行する前にレコードを選択してあげないといけません。
ソース
Cursor c = getContentResolver().query(Media.EXTERNAL_CONTENT_URI, new String[] { BaseColumns._ID }, BaseColumns._ID + "=?", new String[] { String.valueOf(imageId) }, null); if (c.getCount() > 0) { c.moveToFirst(); getContentResolver().delete(ContentUris.appendId(Media.EXTERNAL_CONTENT_URI.buildUpon(), imageId).build(), null, null); } c.close(); File f = new File(path); if(f.exists()){ f.delete(); }