Delphi 10 Seattleでローカル通知を使用するには、TNotificationCenterコンポーネントを使用します。
TNotificationCenterは、次のOSに対応しています。
使い方
フォームにTNotificationCenterコンポーネントを配置します。
すぐに通知を表示するには
TNotificationCenterクラスのPresentNotificationメソッドを使用します。
引数に通知する情報を設定します。
procedure TForm1.Button1Click(Sender: TObject);
var
MyNotification: TNotification;
begin
MyNotification := NotificationCenter1.CreateNotification;
try
//通知の一意の識別子
MyNotification.Name := 'MyNotification';
//通知のタイトル
MyNotification.Title := '通知のタイトル';
//通知メッセージのテキスト
MyNotification.AlertBody := '通知メッセージのテキスト';
//すぐに通知を表示
NotificationCenter1.PresentNotification(MyNotification);
finally
MyNotification.Free;
end;
end;
特定の日時に通知を表示するには
TNotificationCenterクラスのScheduleNotificationメソッドを使用します。
引数に通知する情報を設定します。
procedure TForm1.Button1Click(Sender: TObject);
var
MyNotification: TNotification;
begin
MyNotification := NotificationCenter1.CreateNotification;
try
//通知の一意の識別子
MyNotification.Name := 'MyNotification';
//通知のタイトル
MyNotification.Title := '通知のタイトル';
//通知メッセージのテキスト
MyNotification.AlertBody := '通知メッセージのテキスト';
//通知が発生する日時
MyNotification.FireDate := IncSecond(Now, 8);
//配信するローカル通知を、特定の日時にスケジュール
NotificationCenter1.ScheduleNotification(MyNotification);
finally
MyNotification.Free;
end;
end;
通知をクリックしたときのイベントを受け取るには
TNotificationCenterクラスにはOnReceiveLocalNotificationイベントがあります。
このイベントは通知がクリックされたときに発生します。
次のコードは通知がクリックされたとき、クリックされた通知のテキストを表示します。
procedure TForm1.NotificationCenter1ReceiveLocalNotification(Sender: TObject;
ANotification: TNotification);
begin
Memo1.Lines.Add(ANotification.AlertBody);
end;
参考
通知に使用できるプロパティはOSによって異なります。
ドキュメントを確認してください。