从 MediaStore 重命名播放列表

Renaming Playlist from MediaStore

我想知道如何从 MediaStore 重命名我的播放列表。

下面我有通过传递指定的播放列表 ID 来删除特定播放列表的代码。

有了内容解析器,有一个名为 resolver.delete 的方法,这很容易,但我似乎不明白如何重命名指定的播放列表。

我需要对以下代码做什么才能使其重命名指定的播放列表。

    private void deletePlaylist(String playlistid) {
    // // Log.i(TAG, "deletePlaylist");

    ContentResolver resolver = getActivity().getContentResolver();
    String where = MediaStore.Audio.Playlists._ID + "=?";
    String[] whereVal = { playlistid };
    resolver.delete(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, where,
            whereVal);

    return;
}

ContentResolver 的 update 方法应该有效。为方便起见,Google 网页位于 ContentResolver update

无论如何,这是我建议的代码。 我还没有尝试过,但我会:

ContentValues values = new ContentValues(1);
values.put(MediaStore.Audio.Playlists.NAME, "NewPlaylist");

resolver.update(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, 
   values, "_id=" + playlistid, null);

请注意,NewPlaylist 是您更新后的列表名称,playlistid 是您现有的 ID。但是,您可能仍然需要删除现有的播放列表。我在现有的 Android 应用程序(市场上)中看到关于这个问题的错误,很烦人。 我想知道你的进步。随时通知我。

好的衡量标准,与 "The Original Android" 大致相同。我没有发现任何问题。

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);
}