gpt4 book ai didi

android - 单击项目时 MediaBrowserServiceCompat 收到空包

转载 作者:太空狗 更新时间:2023-10-29 14:35:24 26 4
gpt4 key购买 nike

我正在尝试将媒体项目公开给可以通过我的 MediaBrowserServiceCompat 浏览我的应用程序内容的其他媒体应用程序服务。在我的 onLoadChildren我正在构建的方法 MediaBrowserCompat.MediaItemMediaDescriptionCompat其中包括 Bundle有一些我需要播放该项目的额外内容。

public class Service extends MediaBrowserServiceCompat {

...

@Override
public void onLoadChildren(@NonNull String parentId, @NonNull Result<List<MediaBrowserCompat.MediaItem>> result) {

val bundle = Bundle().apply {
putString("extra", "some value")
}

MediaDescriptionCompat description = new MediaDescriptionCompat.Builder()
.setMediaId(mediaId)
.setExtras(bundle)
.setTitle("title")
.setSubtitle("subtitle")
.setIconUri(uri)
.build();
MediaBrowserCompat.MediaItem item = new MediaBrowserCompat.MediaItem(description, MediaBrowserCompat.MediaItem.FLAG_PLAYABLE);

val items = ArrayList<MediaBrowserCompat.MediaItem>()
items.add(item)


result.sendResult(items)
}

所以在 onPlayFromMediaId(String mediaId, Bundle extras)当用户单击该项目时我得到的回调,我得到了正确的 mediaId但是 extras是一个空包。

    private class MediaSessionCallback extends MediaSessionCompat.Callback {
...
@Override
public void onPlayFromMediaId(String mediaId, Bundle extras) {
super.onPlayFromMediaId(mediaId, extras);
//here extras is empty
}

我确信 MediaItem 在 Result<List<MediaBrowserCompat.MediaItem>> 中发送时有附加包结果 onLoadChildren但我不确定为什么它被退回为空。什么会导致这样的问题?

谢谢!

最佳答案

我不认为你真的得到了 bundle 。您设置了 Bundle extra 参数,但我认为该 bundle 中实际上没有任何东西

通常我过去在创建 bundle 后是怎么做的检索它会做这样的事情

创建一个变量来存储接收到的信息

val extra:String

然后使用该字符串变量获取您创建的包

extra = bundle.getstring("extra")

哪个“额外”与您在顶部创建的 bundle 的 key 相匹配你几乎只有你实际上没有从 .getstring("extra") 会得到的包中得到字符串

关于android - 单击项目时 MediaBrowserServiceCompat 收到空包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57147007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com