可能であればMediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI
、プログラムでプレイリストを削除するにはどうすればよいですか?
3050 次
3 に答える
7
次のコードを使用して、特定のプレイリストを削除します。もちろん必要なのはプレイリストIDだけです
private void deletePlaylist(String selectedplaylist)
{
// // Log.i(TAG, "deletePlaylist");
String playlistid = getPlayListId(selectedplaylist);
ContentResolver resolver = this.getContentResolver();
String where = MediaStore.Audio.Playlists._ID + "=?";
String[] whereVal = {playlistid};
resolver.delete(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, where, whereVal);
Toast toast = Toast.makeText(this,selectedplaylist + " Deleted", Toast.LENGTH_SHORT);
toast.show();
return ;
}
これが実際に動作しているのを確認できる小さなアプリを作成しました。 https://play.google.com/store/apps/details?id=rapc.flyingdutchman.com&feature=nav_result#?t=W251bGwsMSwyLDNd
ご覧のとおり、最初にプレイリストIDを取得します。この時点で私が持っているのはプレイリスト名だけです。IDを取得するための私のコードの下。
public String getPlayListId(String playlist )
{
// read this record and get playlistid
Uri newuri =MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI;
final String playlistid = MediaStore.Audio.Playlists._ID;
final String playlistname = MediaStore.Audio.Playlists.NAME;
String where = MediaStore.Audio.Playlists.NAME + "=?";
String[] whereVal = {playlist};
String[] projection = {playlistid, playlistname};
ContentResolver resolver = getContentResolver();
Cursor record = resolver.query(newuri , projection, where, whereVal, null);
int recordcount = record.getCount();
String foundplaylistid = "";
if (recordcount > 0)
{
record.moveToFirst();
int idColumn = record.getColumnIndex(playlistid);
foundplaylistid = record.getString(idColumn);
record.close();
}
return foundplaylistid;
}
于 2012-11-02T10:18:32.353 に答える
0
名前を変更するには、次のようになります。
private final Uri uri = MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI;
public void renamePlaylist(Context context, String newplaylist, long playlist_id) {
ContentResolver resolver = context.getContentResolver();
ContentValues values = new ContentValues();
String where = MediaStore.Audio.Playlists._ID + " =? ";
String[] whereVal = { Long.toString(playlist_id) };
values.put(MediaStore.Audio.Playlists.NAME, newplaylist);
resolver.update(uri, values, where, whereVal);
}
于 2015-03-09T11:25:32.350 に答える
0
/**
* Delete Playlist Track
*
* @param context
* @param playlistId
* @param audioId
*/
public static void deletePlaylistTrack(Context context, long playlistId, long audioId) {
ContentResolver resolver = context.getContentResolver();
Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external", playlistId);
String filter = MediaStore.Audio.Playlists.Members.AUDIO_ID + " = " + audioId;
resolver.delete(uri, filter, null);
}
/**
* Delete playlist
*
* @param context
* @param selectedplaylist
*/
public static void deletePlaylist(Context context, String selectedplaylist) {
String playlistid = getPlayListId(context, selectedplaylist);
ContentResolver resolver = context.getContentResolver();
String where = MediaStore.Audio.Playlists._ID + "=?";
String[] whereVal = {playlistid};
resolver.delete(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, where, whereVal);
}
于 2018-07-12T09:09:08.530 に答える