Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Alarmmanager unter Delphi XE5 (android) (https://www.delphipraxis.net/177068-alarmmanager-unter-delphi-xe5-android.html)

Rudirabbit 14. Okt 2013 17:45

Alarmmanager unter Delphi XE5 (android)
 
Hallo,
Nachdem TNotificationCenter nicht nutzbar ist, da man an das "fire" event nicht drankommt will ich es nochmal mit dem Alarmmanager versuchen.

Ich habe mehrere Stunden im Internet nach Beispielen gesucht, mit wenig Erfolg.
Nicht mal bei stackoverflow bekam ich eine adequate Antwort.

Bei meiner Recherche bin ich auf dies gestoßen:
http://www.deltics.co.nz/blog/posts/1855

In Oxygene heißen die wrapper units anders und auch die Klassen.
Aber ein kleiner Ansatz wäre es.

Mein Verständnis aus dem Beispiel Code:
Delphi-Quellcode:
begin
  if NOT assigned(fAlarm) then
  begin
    fAlarm := aContext.SystemService[Service.ALARM_SERVICE] as AlarmManager;
    fAlarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime, 1000, updateIntent(aContext));
  end;
end;
Es wird eine Instanz fAlarm erzeugt und hier mit der setRepeating (es gibt verschiedene set Methoden in der Alarmclass) parametriert.
Interessant ist der letzte Parameter updateIntent(aContext), dort wird nach meine Verständnis nach die receive Funktion definiert.

Schaut so aus:

Delphi-Quellcode:

method BatteryWidgetProvider.updateIntent(const aContext: Context): PendingIntent;
begin
  var action := new Intent(aContext, typeOf(UpdateService));
  result := PendingIntent.Service[aContext, 0, action, PendingIntent.FLAG_UPDATE_CURRENT];
end;
Ich habe heute den Tag damit verbracht dies auf XE5 zu portieren :wall:

Rudirabbit 16. Mär 2014 10:15

AW: Alarmmanager unter Delphi XE5 (android)
 
Nachdem nun einige Zeit ins Land gegangen ist hole ich den Thread wieder hoch.

Mein Projekt soll ein Wecker werden der nach bestimmten Kriterien Alarmieren soll.
Die App an sich läuft so weit, also die Alarmdaten werden berechnet und sind auf dem Gerät auch komfortabel zu definieren.


Nur es hapert immer noch am Einhängen in dem Alarmmanager.

Union 16. Mär 2014 13:49

AW: Alarmmanager unter Delphi XE5 (android)
 
Was meinst Du mit 'einhängen'? Was hast Du bereits für Code erarbeitet?

Rudirabbit 17. Mär 2014 18:45

AW: Alarmmanager unter Delphi XE5 (android)
 
Meine App ist im Prinzip ein Kalender.
Dort werden die Tage automatisch markiert an denen man Arbeiten muss oder frei hat. (4 Tage Schicht Prinzip)

Man die Monate hier her scrollen und kann die freien Tage sofort sehen, sehr gut auch bei der Urlaubsplanung und im Brückentage zu sehen. (ohne groß nachrechenen zu müssen)
Ich nutze meine App so schon seit längerem.

Nun kam mir die Idee einen Wecker einzubauen.
Also wenn ich an dem Tag XX Arbeiten muss, holt mich das Android Smartphone um yy.zz Uhr aus der Kiste.

Dazu müsste aber die app quasi als Dienst laufen, also quasi immer im Hintergrund aktiv.

Wie funkionieren diese "weckerapps" im Prinzip ?

Union 17. Mär 2014 19:34

AW: Alarmmanager unter Delphi XE5 (android)
 
Wahrscheinlich wirst Du einen Java-Apploader schreiben müssen der auf die entsprechenden Events reagieren kann und den dann in die classes.dex patchen. http://blog.blong.com/2013/11/delphi...-services.html

stoxx 9. Apr 2015 08:10

AW: Alarmmanager unter Delphi XE5 (android)
 
Zitat:

Zitat von Rudirabbit (Beitrag 1252305)
Wie funkionieren diese "weckerapps" im Prinzip ?

Hallo Rudi,
hast Du das jetzt geschafft?

vielen Dank

knaeuel 6. Aug 2018 10:34

AW: Alarmmanager unter Delphi XE5 (android)
 
Hallo Rudi,
hast du damals noch dein Ziel erreicht?

Ich brauche für meine App aktuell auch eine Weckfunktion (mit delphi 10.2). Ein paar Dinge mit dem Alarmmanager laufen inzwischen auch, aber einen Wecker habe ich noch nicht hinbekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz