问题标签 [mediabrowserservicecompat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android-notifications - 使用 ExoPlayer 的 media2 扩展程序时,如何为我的应用程序禁用 Android 11 媒体通知?
我有一个使用 ExoPlayer 播放视频的应用程序。使用PlayerNotificationManager
和MediaDescriptionAdapter
从 ExoPlayer 创建通知。
在 Pixel 5(但不是 Pixel 3 XL)或任何三星设备上的 Android 11 上,我看到两条通知:一条在所有其他操作系统版本上看到,一条出现在Pixel 的设置托盘或媒体部分(和锁定屏幕)在三星设备上。
在某些时候,我想正确地支持该通知,但现在,有两个通知是一个错误,似乎最简单的修复应该是禁用新通知。
链接的文档说
要被发现,您的应用必须提供 MediaBrowserService,通常使用 Android Jetpack 中的 MediaBrowserServiceCompat 库。
我的应用程序有一个androidx.media2.MediaSessionService
,它隐藏了MediaBrowserService
. 我尝试null
从该onGetSession()
方法返回,但通知仍然出现。似乎我需要一种相当于null
从onGetRoot()
.
在不重写我的所有 MediaSession/MediaSessionService 代码以使用旧的兼容等效项的情况下,我可以做些什么来选择退出此通知?
android - 如何更改 Android MediaBrowserServiceCompat 中的媒体项目
我正在制作基于 Android Auto 的媒体播放器。我确实有一页可以播放的媒体,但有时这些项目的标题会改变。假设第一个项目是“12 点每小时新闻”,然后它变为“1p 每小时新闻”。
onGetRoot 被调用,然后我在 onLoadChildren 中填充我的媒体项目。我在启动时制作了 ArrayList,但这些项目可以更改。
如何以编程方式更改已加载到 UI 中的 MediaItem 对象?