Notifications wenn Datum erreicht wird

  • Hallo,


    Ich arbeite gerade an meiner ersten App und stehe vor folgendem Problem:


    Ich habe Objekte mit einem Datum in der SQLite DB gespeichert und möchte einen Tag vor Erreichen des Datums eine Notification erhalten.


    Die Zeit der Notification soll vom Benutzer einstellbar sein. Der Benutzer soll jedoch auch auswählen können ob er die Notifications überhaupt erhalten möchte.


    Die Zeit und den boolean ob die Notifications gesendet werden sollen habe ich bereits über eine Einstellungen - View mit Preferences gelöst.


    Nun stehe ich aber vor dem Problem dass ich keine Ahnung habe wie ich das Thema Notifications angehen soll. Diese sollen auch angezeigt werden wenn die App beendet wurde.


    Ich würde mich über eure Hilfe sehr freuen.


    Lg
    Kropfi2707

  • Hallo, danke für den Link. Ich habe ihn mir bereits angesehen und ich weiß nun auch wie ich Notifications erstelle.


    Jedoch hab ich keine Ahnung wie ich überprüfen soll ob es ein Objekt gibt, welches als Datum den morgigen Tag beinhaltet.
    Ich dachte bereits an ein Background Service jedoch weiß ich nicht ob es sinnvoll ist, wenn ich in dem Service durchgehend überprüfe ob es ein Objekt mit dem Datum gibt und falls dies der Fall ist, eine Notification anzeige.


    Habt ihr eine Idee wie ich die Überprüfung machen kann?

  • Du hast doch eine SQL Datenbank und du speicherst in dieser das Datum wann die Nachricht angezeigt werden soll.

    SQL
    SELECT 
      TEXT,
      USER_ID
    FROM 
      TABLE
    WHERE 
      datediff(d, getdate(), EVENT_DATE) = 1

    TEXT = Feldname deiner Nachricht
    USER_UD = Feldname deiner Nutzer Kennung
    TABLE = Name deiner Tabelle
    EVENT_DATE = Feldname des eingetragenen Datums


    Auf diese Weise bekommst du alle Einträge von der Datenbank mit dem Datum von Morgen.

    Kann Spuren von persönlicher Meinung, Sarkasmus und Lakritz enthalten. Einzelne Wörter nicht für den Verzehr geeignet. Ungelesen mindestens haltbar bis: suche bei Google

  • Vielen Dank, aber ich meinte wie ich das mit den Notifications machen soll.
    So dass im Hintergrund ständig überprüft wird ob es Objekte mit dem Datum gibt und falls ja, dass zu der benutzerdefinierten Tageszeit eine Notification angezeigt wird.


    Ich dachte bereits an ein Background Service, in dem ich mit einer while-Schleife abfrage ob es betroffene Objekte gibt, jedoch denke ich dass es dafür eine sauberere Lösung geben müsste.


    Auch ist mir nicht bekannt wie ich es schaffe dass das Background Service immer im Hintergrund läuft, auch wenn die App im Task-Manager beendet wurde oder das Smartphone neu gestartet wurde.

  • Natürlich ist es möglich, via polling verfahren immer wieder zu testen, ob das Datum / die Uhrzeit erreicht wurde.
    Aber es stimmt auch, dass die App im Hintergrund immer laufen und somit Akku fressen würde.


    Jetzt könntest du deinen Thread, der die Tests durchführt nur alle 5 Minuten einmal laufen lassen und ihn dann wieder schlafen legen.


    Aber wie Andy61 schon schrieb ist die saubere Lösung der Alarmmanager.
    ich habe hier noch einen Link mit einem Beispiel.
    Wobei der Link vom Andy61 eigentlich schon alles beinhaltet.


    http://www.techrepublic.com/bl…ger-to-schedule-an-event/

    Kann Spuren von persönlicher Meinung, Sarkasmus und Lakritz enthalten. Einzelne Wörter nicht für den Verzehr geeignet. Ungelesen mindestens haltbar bis: suche bei Google

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!