从MediaStore重命名播放列表

时间:2015-03-03 12:58:15

标签: android rename playlist 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;
}

2 个答案:

答案 0 :(得分:3)

ContentResolver的更新方法应该有效。为方便起见,请访问ContentResolver update的Google网页。

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

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应用程序(市场上)的漏洞,很烦人。 我想知道你的进步。让我发布。

答案 1 :(得分:0)

为了更好的衡量标准,与#34;原创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);
}