我的服务以QuickSettigs Tile开头。此服务应从蓝牙耳机接收MEDIA_BUTTON事件。它一直工作,直到我启动任何媒体播放器应用程序活动(不服务!)。
如何表示问题:
- 启动MyService - 点击BT MEDIA_BUTTON - 由MyService捕获的事件
- 停止MyService - 点击BT MEDIA_BUTTON - 媒体播放器应用程序启动
- 点击BT MEDIA_BUTTON - 媒体播放器捕获停止事件
- 启动MyService - 点击BT MEDIA_BUTTON - 由MyService捕获的事件
- 打开媒体播放器应用程序活动
- 按主页按钮以最小化媒体播放器应用程序活动
- 启动MyService - 点击BT MEDIA_BUTTON - 媒体播放器捕获事件(等待为什么?!MyService MediaSession处于活动状态!)
- 停止MyService
- 启动MyService - 点击BT MEDIA_BUTTON - 媒体播放器抓住活动
- 停止MyService
- 启动MyApplication Activity
- 按主页按钮以最小化MyApplication Activity
- 启动MyService - 点击BT MEDIA_BUTTON - MyService捕获的事件 GOTO:1
醇>
我试过了:
- 使用AudioManager获取AudioFocus - 焦点增益
- 使用MediaPlayer播放声音 - 没有任何变化
但没有解决问题。
在第一个媒体播放器活动开始后,Avrcp焦点锁定:当我启动MyService时,在logcat中Avrcp服务说它的重点是媒体播放器应用程序(例如DDB2或留声机),而我无法获得它(Avrcp焦点,不是AudioFocus)。
AuthenticationMiddleware
我无法理解MediaService在Android中是如何运作的。如何调试?