0

当我在我的 OnePlus 上打开蓝牙时,就会MediaBrowserServiceCompat启动。

我的第一个 logcat 条目来自onCreate()我的类​​扩展中的方法MediaBrowserServiceCompat。其他几个媒体播放器应用程序也启动了。logcat 中没有更多关于蓝牙启动的原因和方式的信息MediaBrowserServiceCompat。因此,我迷路了。该行为并非完全可重现,但它会发生 9/10 次,尤其是在我的蓝牙耳机打开的情况下。仅连接耳机不会导致相同的行为。仅打开设备上的蓝牙即可。

当我打开蓝牙时是什么原因MediaBrowserServiceCompat启动或我如何确定导致它的原因?反过来,我该如何防止这种行为?

4

1 回答 1

0

根据https://developer.android.com/guide/topics/media-apps/mediabuttons#restarting-inactive-mediasessions

如果 Android 可以识别最后一个活动的媒体会话,它会尝试通过向清单注册的组件(例如服务或广播接收器)发送 ACTION_MEDIA_BUTTON Intent 来重新启动会话。这可以让您的应用在其 UI 不可见时重新开始播放,大多数音频应用都是这种情况。

我认为在您的情况下,由于您的应用程序是最后一个活动的 MediaSession,因此系统正在尝试重新启动 MediaBrowserService。尝试通过切换到其他媒体应用程序(然后连接BT)来调试您的应用程序,然后检查系统是否启动您的服务。

此外,请查看https://developer.android.com/guide/topics/media-apps/mediabuttons了解更多信息。

于 2020-11-16T05:27:31.423 回答