Kann mir bitte jemand sagen, ob es möglich ist, meinen Android-Dienst "aufzuwecken", sobald ein SMS-Ereignis eingeht? Was ich sagen wollte, ist, dass jedes Mal, wenn eine SMS empfangen wird, eine systemweite Übertragung dieses Ereignisses erfolgt. Kann ich diese Sendung abfangen, um meinen eigenen Hintergrunddienst zu starten? Ich weiß, es ist nicht möglich, meinen Dienst permanent im Hintergrund zu betreiben (ganz zu schweigen von der schlechten Design-Praxis).Starten eines Android-Dienstes vom SMS-Broadcast-Empfänger des Systems
Jede Hilfe wäre sehr geschätzt!
EDIT: Hinzufügen von mehr Details zu meiner ursprünglichen Frage. Mein Broadcast-Empfänger wird in eine Serviceklasse verpackt. Aber es gibt eine Chance, dass das Android meinen Hintergrunddienst im Falle des Speicherknirschens tötet. In diesem Fall wird der Dienst selbst bei einer eingehenden SMS nicht ausgelöst. Wie kann ich mit dieser Situation umgehen? Das war die Hauptabsicht der Frage. Ich weiß, dass es nicht möglich ist, meinen Dienst permanent im Hintergrund laufen zu lassen (oder ist es möglich? Vielleicht, wenn ich Root-Zugriff habe?)
ja Sie können es tun. Sie können sich für den SMS Broadcast Empfänger anmelden. und Sie werden benachrichtigt, wenn das Gerät eine neue SMS erhält. –
Warum bezweifeln Sie, dass es funktioniert? Wenn Sie es versuchen, werden Sie sehen, es funktioniert gut –
Ja, Sie können, weil innerhalb 'onReceive' des' BroadcastReceiver', gibt es einen 'Kontext' als Parameter. Sie haben also die Möglichkeit, Ihre Anwendung zu starten oder einen neuen Dienst zu starten. – Vasilisfoo