Hallo
Ich brauch wieder mal einen Rat von euch Profis, nein, sogar gleich deren zwei. Ich will (immer noch) eine App schreiben, die alle 3 Minuten meine wichtigsten Systemeinstellungen kontrolliert (z.B. ob "Mobile Daten" nicht irrtümlich eingeschaltet blieb, was unterwegs innert Kürze unbemerkt mein Prepaid-Konto leeren würde). Das gelang mir soweit auch.
1) Nun möchte ich aber auch noch, dass meine Kontrolle sofort ausgeführt wird, wenn ich die App wieder in den Vordergrund bringe (zu einem Zeitpunkt MITTEN in den 3-minütigen Intervallen). Mache ich das mit "onRestart" auf folgende Weise,
public class MainActivity extends Activity {
...
@Override
protected void onRestart() {
super.onRestart();
UpdateNotification updateNotificationRestartRun = new UpdateNotification();
updateNotificationRestartRun.run();
}
public class UpdateNotification extends TimerTask {
...
public void run() {
...
}
}
}
Alles anzeigen
so wird zwar das Unterprogramm "run" ausgeführt, aber mit eigenen Initialdaten und nicht diejenigen, welche die 3-Minuten-periodische Prozedur aktuell hat. Meine erste Idee war eine statische Methode "run". Aber Unterklassen dürfen keine statische Methoden haben. Ich denke, es gibt eine ganz einfache Lösung, aber als ziemlich blutiger Anfänger fehlt mir hierfür die Erfahrung ...
2) Wenn ich alle zuletzt verwendeten Apps mittels "Alle schliessen" beende, endet auch meine Kontroll-App, und ich bin ohne Schutz gegen meine Vergesslichkeit. Fieserweise bleibt dann auch das Notification-Icon meiner App bestehen und wiegt mich im Glauben, meine App laufe noch. Ich hab schon versucht, das Unterprogramm "run" als Hintergrunddienst (gestarteter Dienst, IntentService) zu schreiben, aber auch so wird der Dienst beendet, wenn ich die App schliesse. Meine App sollte also unsichtbar und unschliessbar sein (und bei Neustart des Handys auch aufstarten). Dass dies möchlich ist, beweist mir die App "Waterbot" aus dem PlayStore, die genau diese Eigenschaften hat und mich z.B. alle 5 Tage ans Blumengiessen erinnert. Nur, wie erreiche ich dieses Ziel?
Herzlichen Dank für alle Tipps!