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