Ich baue eine App, die auf Änderungen im CallLog.Calls-Inhaltsanbieter wartet. Daher werden alle Änderungen an diesem Inhaltsanbieter den Beobachter der App benachrichtigen, der die geänderten Daten einfügen wird.Auf Änderungen in CallLog.Calls warten
Aber es gibt ein Problem, die App wird benachrichtigt, wenn es nicht ausgeführt wird, dh die App erfasst nicht die Daten geändert hat, während nicht ausgeführt wird.
Also meine Frage ist, gibt es eine Möglichkeit, die Daten zu erfassen, die sich geändert haben, während die App nicht lief? So habe ich zum Beispiel 8 Anrufe getätigt und die App lief nicht, so dass dem CallLog.calls Content Provider 8 neue Daten hinzugefügt wurden. Gibt es eine Möglichkeit, diese 8 neuen Daten zu erfassen, sobald die Anwendung startet?
Danke!
Tatsächlich habe ich einen ContentObserver, der auf einen eingehenden oder ausgehenden Anruf ausgelöst wird. Aber die App hört nur auf die Benachrichtigung, wenn sie läuft. Wenn es nicht läuft, hört es nicht zu, also werden die Anrufe, die ich gemacht habe, von der App verpasst, dh die App erfasst die Daten nicht. Ich habs? Also suche ich nach einer Lösung, die prüfen oder hören kann, sobald die App läuft. Ich versuchte, die Größe des Anbieters abzufragen, indem ich zwei Variablen deklarierte, eine mit der letzten Größe des Anbieters und eine andere mit der aktuellen Größe. Wenn ich die App einmal ausführe, vergleiche ich beide. Ist es eine gute Lösung? – rogcg
Wenn es keinen eingehenden Anruf gibt Absicht, die Sie beantworten können, um zu überprüfen, ob die Anrufdatenbank neue Zeilen enthält, scheint für mich vollkommen akzeptabel zu sein. Ich bin sicher, dass es einen eingehenden Anruf Intent obwohl. Wenn Sie einen Empfänger im App-Manifest mit einem Intent-Filter registriert haben, der diese Absicht angibt, wird Ihre App gestartet. Wahrscheinlich ist es am besten, wenn Sie Ihre App dazu bringen, einen Dienst zu starten, der im Hintergrund funktioniert. Überprüfen Sie die Intent-Klasse und die TelephonyManager-Klasse, um festzustellen, ob eine Absicht vorliegt. – techiServices
Ich denke, ich muss einen Service implementieren. – rogcg