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