Neustart getötet (von Task-Killern gestoppt) Dienste in Android wie WhatsApp

Ich arbeite an einem App-Schließfach mit einigen Hintergrunddiensten (zum Sperren von Apps). Ich benutze Xiaomi Redmi Note 4g für die Entwicklung. Das MIUI verfügt über einen integrierten Task-Manager, mit dem laufende Apps beendet werden können. Wenn ich damit Apps beende, werden alle Dienste, Rundfunkempfänger und Alarmmanager entfernt (wie von einem Task-Manager erwartet). Meine Anforderung ist, zu verhindern, dass meine Hintergrunddienste von Task-Killern gelöscht werden. Wenn der Benutzer jedoch zu Einstellungen navigiert und das Schließen erzwingt, sollte der Dienst beendet werden. Wie erreiche ich das?

Btw, ich weiß, dass es nicht unmöglich ist, dies zu erreichen, da Whatsapp und Truedialer (einige egs) dies bereits auf den neuesten Android-Versionen tun.

Meine Beobachtungen von WhatsApp:

Ich beende die App vom Task-ManagerAlle Dienste in WhatsApp außer "MessagingService" werden gestopptDie Listenansicht der laufenden Apps zeigt den Status "Neustart" an. "AlarmService" -Dienst startet (nicht sicher, ob MessagingService ihn startet oder von einem AlarmManager)Nach einiger Zeit sind alle Dienste in Betrieb

Hinweis: Der Timer des MessagingService wird nicht zurückgesetzt und tickt weiterhin. Wenn ich den Dienst jedoch erzwinge, wird er erst wieder gestartet, nachdem ich die App manuell gestartet habe.

Ähnliche Beobachtungen werden für TrueDialer gemacht.

Ich habe versucht, dies mit START_STICKY, AlarmManager, BroadcastReceiver zu replizieren, war jedoch nicht erfolgreich. Kann mir jemand dabei helfen? Ich möchte nur verstehen, wie Whatsapp dies erreicht. Fühlen Sie sich frei zu fragen, ob Sie weitere Informationen benötigen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage