У меня есть музыкальный проигрыватель, который пытается запустить Service
в onResume()
Activity
. Я удалил несколько строк для ясности, но код эффективен:
@Override
protected void onResume() {
super.onResume();
startService(new Intent(this, MusicService.class));
}
Согласно журналам сбоев, это исключение на некоторых устройствах под управлением Android P:
Caused by java.lang.IllegalStateException: Not allowed to start service Intent { cmp=another.music.player/com.simplecity.amp_library.playback.MusicService }: app is in background uid UidRecord{6a4a9c6 u0a143 TPSL bg:+3m25s199ms idle change:cached procs:1 seq(1283,1283,1283)}
at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1577)
at android.app.ContextImpl.startService(ContextImpl.java:1532)
at android.content.ContextWrapper.startService(ContextWrapper.java:664)
at android.content.ContextWrapper.startService(ContextWrapper.java:664)
at com.simplecity.amp_library.utils.MusicServiceConnectionUtils.bindToService(SourceFile:36)
at com.simplecity.amp_library.ui.activities.BaseActivity.bindService(SourceFile:129)
at com.simplecity.amp_library.ui.activities.BaseActivity.onResume(SourceFile:96)
Как это возможно, что мое приложение находится в фоновом режиме, сразу после onResume()
(и super.onResume()
)?
Это не имеет никакого смысла для меня. Может ли это быть ошибкой платформы? Все пользователи 3500+, затронутые этой аварией, работают на Android P.