Einzelnen Beitrag anzeigen

Rudirabbit

Registriert seit: 27. Sep 2006
111 Beiträge
 
#9

AW: Grundsätzliche Fragen zu Android App's Entwicklung (XE5)

  Alt 3. Okt 2013, 16:11
Zitat:
Was ist denn "o:alarmmanger", ist das in XE5 gültiger Delphi-Code, bzw. woher stammt er?
Das bietet die Progrmmierhilfe so an.

Also beim create der Klasse
alarm:=TJAlarmManager.create(..

Bin aber schon ein Stück weiter, denn in Delphi XE5 gibt es eine Komponennte TNotificationCenter die das ganze kapselt.
Delphi-Quellcode:
procedure TNotificationsForm.btnSendScheduledNotificationClick(Sender: TObject);
var
  Notification: TNotification;
begin

  { verify if the service is actually supported }
  if NotificationC.Supported then
  begin
    Notification := NotificationC.CreateNotification;
    try
      Notification.Name := 'MyNotification';
      Notification.AlertBody := 'Delphi for Mobile is here!';
        
      { Fired in 10 second }
      Notification.FireDate := Now + EncodeTime(0,0,10,0);

      { Send notification in Notification Center }
      NotificationC.ScheduleNotification(Notification);
    finally
      Notification.DisposeOf;
    end;
  end
end;
Das Funktioniert auch.
Nur für einen Wecker so nicht brauchbar.
Denn ich müsste beim Einstellen der Weckerapp für jeden Wecktag quasi ein NotificationC.ScheduleNotification(Notification); erstellen
Wenn der Wecker aber ohne "Pflege" das ganze Jahr und darüber hinaus funktionieren soll, ist dies keine praktikable Methode.
Alternativ wäre es denkbar beim Onlocalreceive event des TNotificationCenters den nächsten "Weckerdate" zu erstellen.

Man sollte meinen das dieses event beim Erreichen des Firedates angestoßen wird - Tut es aber nicht,keinen Plan warum.

Außerdem poppt beim Erreichen des Firedates nur kurz eine Message auf, mit einem kurzem Beep.
Sehe bisher keine Möglichkeit dies zu ändern, oder auch eine Melodie abzuspielen.

Auch ein Studieren der FMX.Notification unit brachte mich nicht wirklich weiter.
Die Dokumentation zu dem Thema ist leider sehr spärlich.
  Mit Zitat antworten Zitat