当我打开OnePlus上的蓝牙时,MediaBrowserServiceCompat启动了。
我的第一个logcat条目来自扩展MediaBrowserServiceCompat的类中的onCreate()方法。其他几个媒体播放器应用程序也会启动。关于蓝牙启动MediaBrowserServiceCompat的原因和方式,logcat中没有更多的信息。因此,我迷失了。这种行为不是完全可重复的,但它会发生9/10次,特别是如果我的蓝牙耳机是开着的。仅仅连接耳机并不会导致相同的行为。只有在设备上打开蓝牙才可以。
当我打开蓝牙时,是什么原因导致MediaBrowserServiceCompat启动,或者我如何确定是什么原因造成的?反过来,我该如何防止这种行为呢?
发布于 2020-11-16 13:27:31
根据https://developer.android.com/guide/topics/media-apps/mediabuttons#restarting-inactive-mediasessions的说法
如果安卓可以识别最后一个活动的媒体会话,它会尝试通过向清单注册的组件(如服务或BroadcastReceiver)发送ACTION_MEDIA_BUTTON意图来重新启动会话。这允许您的应用程序在其UI不可见时重新启动播放,这是大多数音频应用程序的情况。
我认为在您的情况下,由于您的应用程序是最后一个活动的MediaSession,系统正在尝试重新启动MediaBrowserService。尝试通过切换到其他媒体应用程序来调试您的应用程序(然后连接BT),然后检查系统是否启动了您的服务。
此外,请查看https://developer.android.com/guide/topics/media-apps/mediabuttons以了解更多信息。
https://stackoverflow.com/questions/64731673
复制相似问题