MediaBrowserServiceCompat: Context.startForegroundService () затем не вызывал Service.startForeground () - PullRequest
0 голосов
/ 01 августа 2020

У меня есть приложение 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 ...

Есть ли способ отладки / воспроизвести / исправить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...