无法让Avrcp专注于服务,以获得正确的媒体密钥事件接收

时间:2018-03-19 14:46:44

标签: android service android-mediasession

我的服务以QuickSettigs Tile开头。此服务应从蓝牙耳机接收MEDIA_BUTTON事件。它一直工作,直到我启动任何媒体播放器应用程序活动(不服务!)。

如何表示问题:

  1. 启动MyService - 点击BT MEDIA_BUTTON - 由MyService捕获的事件
  2. 停止MyService - 点击BT MEDIA_BUTTON - 媒体播放器应用程序启动
  3. 点击BT MEDIA_BUTTON - 媒体播放器捕获停止事件
  4. 启动MyService - 点击BT MEDIA_BUTTON - 由MyService捕获的事件
  5. 打开媒体播放器应用程序活动
  6. 按主页按钮以最小化媒体播放器应用程序活动
  7. 启动MyService - 点击BT MEDIA_BUTTON - 媒体播放器捕获事件(等待为什么?!MyService MediaSession处于活动状态!)
  8. 停止MyService
  9. 启动MyService - 点击BT MEDIA_BUTTON - 媒体播放器抓住活动
  10. 停止MyService
  11. 启动MyApplication Activity
  12. 按主页按钮以最小化MyApplication Activity
  13. 启动MyService - 点击BT MEDIA_BUTTON - MyService捕获的事件 GOTO:1
  14. 我试过了:

    • 使用AudioManager获取AudioFocus - 焦点增益
    • 使用MediaPlayer播放声音 - 没有任何变化

    但没有解决问题。

    在第一个媒体播放器活动开始后,Avrcp焦点锁定:当我启动MyService时,在logcat中Avrcp服务说它的重点是媒体播放器应用程序(例如DDB2或留声机),而我无法获得它(Avrcp焦点,不是AudioFocus)。

    AuthenticationMiddleware

    我无法理解MediaService在Android中是如何运作的。如何调试?

0 个答案:

没有答案