使用MediaButton控制后台有音频的前台应用程序(无音频)



我想使用媒体按钮来控制前台应用程序,但不用于音频。因此,我们的目标是检测点击按钮在应用程序中做某些事情。

我可以通过使用CCD_ 1和CCD_。参见此处

问题是,当使用该应用程序时,用户经常在后台播放音乐,因此后台应用程序的音频焦点占据了MediaSession,我无法再控制我的应用程序。

有办法做到这一点吗?用onKeyDown直接监听按钮点击似乎不起作用。

遗憾的是,没有办法同时使用两个活动的MediaSession。如果另一个应用程序正在播放音乐并运行MediaSession,那么你的应用程序就没有焦点,也没有活动。。。这是为了更好的用户体验——只有一个"用户体验";玩家";该应用程序可以播放音乐(或视频(。如果这样不起作用,而且你可以同时通过几个应用程序播放音乐,那么应该如何操作耳机上的媒体按钮?暂停/恢复所有玩家?这不是用户友好的,所以Android团队引入了MediaSession模式,并提供了调用"的选项;现在关注我";通过任何应用程序,但随后另一个应用程序/MediaSession暂停并且没有得到任何输入(该活动会话得到(

如果您需要按下物理按钮,那么onKeyDown应该可以工作(在Activity内部或最终使用MediaSession0,这将在整个系统中"全局"工作(。如果你需要一些屏幕上的通知按钮,那么就用你喜欢的按钮为你的通知做自定义布局,甚至像播放器一样

请注意,在Android 11中,当您下拉状态栏时,活动MediaSession的通知会粘贴在通知部分的顶部。您的自定义通知将在所有其他通知之间的某个位置(您可以使用通知/通道的优先级参数来操纵位置(

最新更新