Ich habe einen Musik-Player, der versucht, ein Service
In onResume()
eines zu starten Activity
. Ich habe aus Gründen der Übersichtlichkeit einige Zeilen entfernt, aber der Code ist effektiv:
@Override
protected void onResume() {
super.onResume();
startService(new Intent(this, MusicService.class));
}
Laut den Absturzprotokollen löst dies auf einigen Geräten mit Android P eine Ausnahme aus:
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)
Wie ist es möglich, dass sich meine App unmittelbar nach dem Aufruf von onResume()
(und super.onResume()
) im Hintergrund befindet?
Das ergibt für mich keinen Sinn. Könnte dies ein Plattformfehler sein? Alle über 3500 Benutzer, die von diesem Absturz betroffen sind, sind auf Android P.