У меня есть приложение musi c player, а недавно я перешел на MediaBrowserServiceCompat с обычного сервиса . Служба создается автоматически фреймворком (метод onCreate вызывается при запуске приложения), и я запускаю его как передний план только при воспроизведении.
ANR встречается на некоторых устройствах, особенно на Samsung, но также встречается на Sony, Nokia, AllView и т.д. c.
fun moveServiceToStartedState(){
if (!mServiceInStartedState) {
ContextCompat.startForegroundService(
this@MusicService,
Intent(this@MusicService, MusicService::class.java)
)
startForeground(PlayerNotificationManager.NOTIFICATION_ID, notification)
mServiceInStartedState = true
}else{
updateNotification(state)
}
}
fun moveServiceOutOfStartedState() {
if(mServiceInStartedState) {
stopForeground(true)
stopSelf()
mServiceInStartedState = false
}
}
Я ВСЕГДА вызываю startForeground после ContextCompat.startForegroundService ...
Есть ли способ отладки / воспроизвести / исправить эту проблему?