0

Ich baue eine Überwachungs-App, die so viele Informationen wie möglich vom mobilen Gerät erfasst, wie laufende Prozesse/aktive Verbindungen/Netzwerkstatistiken/aktive Schnittstellen usw. Offensichtlich werde ich eine Service, der dafür im Hintergrund laufen wird, aber ich bin mir nicht ganz sicher, wie ich es implementieren soll.Überwachung IntentService mit AlarmManager oder Dienst mit Thread

Jemand schlug vor, dass ich einen IntentService erstelle, der in bestimmten Intervallen mit AlarmManager ausgeführt wird, seine Sache macht und dann wieder stirbt. In this thread Leute empfehlen eine Implementierung mit einem Always-On-Dienst, der seinen eigenen Thread startet, um die Arbeit zu erledigen, ihn in den Ruhezustand zu versetzen und dann wieder. Man schlug auch vor, dass der AlarmManager auch verwendet wird, um sicherzustellen, dass der Dienst neu gestartet wird, wenn das Betriebssystem ihn tötet. Was ist die mpst-geeignete Implementierung für die Überwachung von Echtzeitdaten? (oder die Up/Downside von jedem). Beachten Sie, dass viele der Info bin ich die Erfassung nicht produzieren Absichten (so kann ich nicht nur Empfänger registrieren)

Vielen Dank :)

Antwort

0

Beachten Sie, dass viele der Informationen, die ich bin Erfassung nicht Absichten erzeugen (so kann ich nicht nur Empfänger registrieren)

Dann werden Sie nicht in der Lage sein, einen Intent Service zu nutzen, da die App nicht wissen, wann es zu feuern.

Wenn Sie "Echtzeit" Aktualisierung von Informationen wollen, dann müssen Sie einen Service (mit oder ohne eigenen Hintergrund Thread) verwenden. Sie können einen AlarmManager nicht verwenden, da er fast immer zu spät läuft (nicht "Echtzeit").

Beachten Sie, dass es einige Anstrengungen erfordert, Ihren Dienst immer auszuführen, da es verschiedene Szenarien gibt, in denen er nicht mehr ausgeführt werden kann. Selbst wenn Sie alles getan haben, um dies zu erreichen, gibt es noch Möglichkeiten für das Betriebssystem oder Benutzer, um die Ausführung zu stoppen.

+0

Hey Tim, danke für die Antwort. Abgesehen von einem Dienst sollte ich Empfänger für alle Arten von Daten registrieren, die Intents ausstrahlen? – michaelg9

+0

@ michaelg9 yeah, aber Sie können den gleichen Empfänger für mehrere Absichten verwenden, fügen Sie einfach mehrere Tags in das Manifest –

+0

Great, vielen Dank! – michaelg9