当我的应用程序停止时单击耳机按钮时,我试图能够从我的应用程序开始音乐播放。
我可以使用 MediaSession.CallbackonMediaButtonEvent()
或现在已弃用registerMediaButtonEventReceiver()
的收听媒体按钮单击当我的应用程序正在播放音乐时,但如果我暂停音乐一分钟,我的活动和播放服务仍在运行,然后我按下耳机按钮,我看到我失去了接收媒体按钮广播的能力。相反,Google Now 会打开。
我正在尝试做的是类似于 Google Play 音乐的东西。即使应用程序完全停止,它也可以开始播放音乐……后台没有服务。
我觉得setMediaButtonReceiver()是用于此的,但我无法让它工作。
setMediaButtonReceiver(PendingIntent mbr)
为您的媒体按钮接收器设置待处理的意图,以允许在会话停止后重新开始播放。如果您的应用以这种方式启动,则会通过待处理的 Intent 发送 ACTION_MEDIA_BUTTON Intent。
我的服务中有以下代码段。
PendingIntent pi = PendingIntent.getBroadcast(HeadsetService.this, 0, new Intent(HeadsetService.this, RemoteControlReceiver.class), 0);
mMediaSession.setMediaButtonReceiver(pi);
我的 RemoteControlReceiver BroadcastReceiver 已在 Manifest 中注册,但是当我按下按钮时我没有收到任何广播。
我还看到其他音乐播放器应用程序在停止播放大约一分钟后就失去了接收媒体按钮广播的能力。
有什么想法可以让我拥有更强大的媒体按钮控件吗?
提前致谢!