1

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

如何表示问题:

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

我试过了:

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

但没有什么能解决问题。

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

V Avrcp   : Active sessions changed, 1 sessions
V Avrcp   : Updating media controller to android.media.session.MediaController@5658a74
V Avrcp   : Metadata updated but no change!
V Avrcp   : updatePlayPauseState, state: null device: null
V Avrcp   : Device: no name: 
I Avrcp   : updatePlayStatusForDevice: device: null
V Avrcp   : Focus gained for player: com.kabouzeid.gramophone
D Avrcp   : Exit updateCurrentMediaController()
D Avrcp   : Exit onActiveSessionsChanged()
V Avrcp   : Active sessions changed, 1 sessions
V Avrcp   : Updating media controller to android.media.session.MediaController@6237b9d
V Avrcp   : Metadata updated but no change!
V Avrcp   : updatePlayPauseState, state: null device: null
V Avrcp   : Device: no name: 
I Avrcp   : updatePlayStatusForDevice: device: null
V Avrcp   : Focus gained for player: com.kabouzeid.gramophone
D Avrcp   : Exit updateCurrentMediaController()
D Avrcp   : Exit onActiveSessionsChanged()
V Avrcp   : MSG_UPDATE_RCC_CHANGE
V Avrcp   : processRCCStateChange: com.kabouzeid.gramophone
V Avrcp   : MSG_UPDATE_RCC_CHANGE
V Avrcp   : processRCCStateChange: com.kabouzeid.gramophone
V Avrcp   : updateAddressedMediaPlayer
V Avrcp   : current Player: 0
V Avrcp   : Requested Player: 0
V Avrcp   : updateAddressedMediaPlayer
V Avrcp   : current Player: 0
V Avrcp   : Requested Player: 0

我不明白 MediaService 在 Android 中是如何工作的。如何调试这个?

4

0 回答 0