问题标签 [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.

0 投票
0 回答
137 浏览

android-notifications - 使用 ExoPlayer 的 media2 扩展程序时,如何为我的应用程序禁用 Android 11 媒体通知?

我有一个使用 ExoPlayer 播放视频的应用程序。使用PlayerNotificationManagerMediaDescriptionAdapter从 ExoPlayer 创建通知。

在 Pixel 5(但不是 Pixel 3 XL)或任何三星设备上的 Android 11 上,我看到两条通知:一条在所有其他操作系统版本上看到,一条出现在Pixel 的设置托盘或媒体部分(和锁定屏幕)在三星设备上。

在某些时候,我想正确地支持该通知,但现在,有两个通知是一个错误,似乎最简单的修复应该是禁用新通知。

链接的文档说

要被发现,您的应用必须提供 MediaBrowserService,通常使用 Android Jetpack 中的 MediaBrowserServiceCompat 库。

我的应用程序有一个androidx.media2.MediaSessionService,它隐藏了MediaBrowserService. 我尝试null从该onGetSession()方法返回,但通知仍然出现。似乎我需要一种相当于nullonGetRoot().

在不重写我的所有 MediaSession/MediaSessionService 代码以使用旧的兼容等效项的情况下,我可以做些什么来选择退出此通知?

0 投票
1 回答
28 浏览

android - 如何更改 Android MediaBrowserServiceCompat 中的媒体项目

我正在制作基于 Android Auto 的媒体播放器。我确实有一页可以播放的媒体,但有时这些项目的标题会改变。假设第一个项目是“12 点每小时新闻”,然后它变为“1p 每小时新闻”。

onGetRoot 被调用,然后我在 onLoadChildren 中填充我的媒体项目。我在启动时制作了 ArrayList,但这些项目可以更改。

如何以编程方式更改已加载到 UI 中的 MediaItem 对象?

0 投票
0 回答
23 浏览

android - Android Media Player:捕获后退按钮按下并以编程方式为用户按下按钮

我有一个在 Android Auto 中使用的 MediaBrowserServiceCompat 类。当有人按下屏幕上的后退按钮时:

在此处输入图像描述

我想执行一些操作,但我看不到获取此按钮按下的回调的方法。我以为它会在 MediaSessionCallback 中,但事实并非如此。

此外,我想要一种编程方式来在手机上发生的某些事件上按下此按钮,例如正在播放的媒体不再可用或不再有效。是否有一种方法可以强制媒体播放器恢复到主屏幕?