【问题标题】:Renaming Playlist from MediaStore从 MediaStore 重命名播放列表
【发布时间】:2015-03-03 12:58:15
【问题描述】:

我想弄清楚如何从 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;
}

【问题讨论】:

  • 你还在做这个吗?更新方法你试过了吗,即“update(Uri uri, ContentValues values, String where, String[] selectionArgs)”
  • 我还没有尝试过这种方法,你能根据我上面的代码给我一个如何使用它的例子吗?谢谢。
  • 您对resolver.delete 有任何问题吗?我这样做了,它会删除 m3u 文件,但是当我重新启动 Android 设备时该文件会恢复。我知道它涉及媒体服务。我希望我可以永久删除!

标签: android rename playlist mediastore


【解决方案1】:

ContentResolver 的 update 方法应该可以工作。为了您的方便,谷歌网页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 应用程序(市场上)在这个问题上存在错误,这很烦人。 我想知道你的进步。随时通知我。

【讨论】:

  • 谢谢你,这很好用。我还没有发现任何问题,如果我发现了,我会更新你。无论如何,谢谢您,先生,无论您身在何处,都祝您度过愉快的一天! :)
  • 嘿,太好了。我想制作自己的播放列表应用程序,因为我厌倦了使用其他运行不佳的应用程序,错误。我会认为你是我的播放列表好友,哈哈。
  • 欢迎联系我。我在谷歌和亚马逊上发布了新的播放列表管理器。 (请注意,由于所谓的版权问题,Google 目前已阻止我的最新版本,但最新版本可在亚马逊上找到。
  • @Theo,您是否在屏幕截图或您在应用程序中使用的任何图标上使用了受版权保护的图像?这可能是个大问题
【解决方案2】:

为了更好地衡量,与“原始 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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    相关资源
    最近更新 更多