Delphi 10 Seattleでローカル通知を使用する

Delphi 10 Seattleでローカル通知を使用するには、TNotificationCenterコンポーネントを使用します。

TNotificationCenterは、次のOSに対応しています。

  • Windows 8

    windows8

  • Windows 10

    windows10

  • OSX 10.8以降

    osx

  • Android

    android01
    android02

  • iOS

使い方

フォームにTNotificationCenterコンポーネントを配置します。

NotificationCenter1

すぐに通知を表示するには

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によって異なります。
ドキュメントを確認してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください