我想在我的应用程序停止时,通过耳机按钮点击开始音乐播放。
我可以使用MediaSession.Callback onMediaButtonEvent()
或已弃用的registerMediaButtonEventReceiver()
来监听媒体按钮点击同时我的应用正在播放音乐,但如果我暂停音乐一分钟,我的Activity和播放服务仍在运行,然后我按下耳机按钮,我发现我失去了接收媒体按钮广播的能力。相反,Google Now会打开。
我想做的是像Google Play Music一样的事情。即使应用程序完全停止,也能开始音乐播放...没有后台服务。
我觉得setMediaButtonReceiver()是要用的,但我还没有成功。
setMediaButtonReceiver(PendingIntent mbr)
设置一个挂起的意图,以允许您的媒体按钮接收器在会话停止后重新启动播放。如果您的应用程序以此方式启动,则将通过挂起的意图发送ACTION_MEDIA_BUTTON意图。
我在我的服务中有以下代码片段。
PendingIntent pi = PendingIntent.getBroadcast(HeadsetService.this, 0, new Intent(HeadsetService.this, RemoteControlReceiver.class), 0);
mMediaSession.setMediaButtonReceiver(pi);
我的RemoteControlReceiver广播接收器已在清单中注册,但我按下按钮时没有收到广播。
我还发现其他音乐播放器应用程序一旦停止播放约一分钟后就失去了接收媒体按钮广播的能力。
有什么想法可以让我的媒体按钮控制更加强大可靠吗?
提前致谢!