delphi IOS 通知 TNotification

delphi IOS 通知 TNotification

http://blogs.embarcadero.com/ao/2013/05/01/39450

TNotification

http://docwiki.embarcadero.com/CodeExamples/Seattle/en/FMX.Notification.Mac_%28Delphi%29

http://docwiki.embarcadero.com/RADStudio/Seattle/en/Mobile_Tutorial:_Using_Notifications_%28iOS_and_Android%29

unit Unit1;

interface

uses
  System.SysUtils, System.Classes, FMX.Forms, FMX.Platform;

type

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function AppEvent(AAppEvent: TApplicationEvent; AContext: TObject) : Boolean;
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

uses
  FMX.Notification;

procedure SendNotification;
var
  NotificationService: IFMXNotificationCenter;
  Notification: TNotification;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXNotificationCenter) then
    NotificationService := TPlatformServices.Current.GetPlatformService(IFMXNotificationCenter) as IFMXNotificationCenter;

  if Assigned(NotificationService) then begin
    Notification := TNotification.Create;
    try
      Notification.Name := 'MyLocalNotification';
      Notification.AlertBody := 'Hello from the Delphi XE4 iOS app that you used 5 seconds ago!';
      Notification.FireDate := Now + EncodeTime(0,0,5,0);
      NotificationService.ScheduleNotification(Notification);
    finally
      Notification.DisposeOf;
    end;
  end
end;

function TForm1.AppEvent(AAppEvent: TApplicationEvent; AContext: TObject) : Boolean;
begin
  if AAppEvent = TApplicationEvent.aeEnteredBackground then
    SendNotification;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  AppEventSvc: IFMXApplicationEventService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, IInterface(AppEventSvc)) then
    AppEventSvc.SetApplicationEventHandler(AppEvent);
end;

end.

TNotification

delphi

Notification:= notificationcenter1.createnotification;

c++

TNotification *not=NotificationCenter1->createNotification();