So verhindern Sie einen Absturz beim Neustarten von Android -VordergrundserviceAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 So verhindern Sie einen Absturz beim Neustarten von Android -Vordergrundservice

Post by Anonymous »

Ich habe einen Vordergrundservice und ich beginne ihn von: < /p>

Code: Select all

context.startForegroundService(Intent(context, MyForegroundService::class.java))
Im Dienst verwendet es start_sticky

Code: Select all

override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
// do work...
startForeground(ID, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_LOCATION)
return START_STICKY
}
< /code>
Nachdem das System den Dienst getötet hat (z. B. geringe Ressourcen), wird versucht, ihn später "aus dem Hintergrund" neu zu erstellen. Hier kommt das [url=viewtopic.php?t=20324]Problem[/url] für Anroid 12+ -Geräte: 

[*] Wenn ich startforder () 
nenne, gibt es mir einen Vordergrund, den ich startnotallowedException
Wenn ich Startforder nicht nenne () . /> < /ul>
In einfachen Worten stürzt der Dienst, egal was Sie tun. Dies scheint ein Android -Designfehler zu sein. Es scheint, dass die einzige Problemumgehung darin besteht, start_not_sticky zu verwenden und einen Workmanager bei OnDestory () zu planen, um einen geringeren Teil der Arbeit zu erledigen. Denke ich das richtig?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post