Android Developer の通知のドキュメント を読むとコードで一生懸命書いていますが、Delphi の場合は TNotificationCenter コンポーネントがあり、プロパティの設定とメソッドを実行するだけで、楽に通知を行うことができます
サンプルアプリケーション
使用した Delphi のバージョンは 10.2 Tokyo (release3) Community Edition を使っています
Android は Nexus 5 (Android OS 6.0.1) を使いました
ボタンを押すと通知を行なうという簡単なサンプルです
使うコンポーネントは 2 つ、TButton と TNotificationCenter のみ
新規でマルチデバイスアプリケーションを作成します(空のアプリケーションを選択します)
ツールパレットから TButton をフォーム上にドラックアンドドロップで配置します
ツールパレットから TNotificationCenter をフォーム上にドラックアンドドロップで配置します
設計画面はこんな感じです
設計画面の Button1 をダブルクリックして、Button1 の OnClick イベントに以下のコードを記述します
procedure TForm2.Button1Click(Sender: TObject);
// 通知メッセージは TNotification で作成します
var
mNotice: TNotification;
begin
mNotice := NotificationCenter1.CreateNotification;
mNotice.Name := 'NoticeTest';
mNotice.Title := '通知タイトル';
mNotice.AlertBody := '通知内容';
// 通知
NotificationCenter1.PresentNotification(mNotice);
mNotice.DisposeOf; // デストラクタ強制実行
end;
通知をタップした際の処理は、設計画面のNotificationCenter1 をダブルクリックして生成される TNotificationCenter の OnReceiveLocalNotification イベントに記述することができます
このサンプルでは簡単に ShowMessage を使ってタップされたことを表示します
また、パラメータで返却されている ANotification(TNotification) の Name プロパティを表示して、どの通知かわかるようにしています
procedure TForm2.NotificationCenter1ReceiveLocalNotification(Sender: TObject;
ANotification: TNotification);
begin
showMessage(ANotification.Name + ':通知がタップされました');
end;
ビルドして実行
ボタンを押すと通知が行なわれ、左上に通知があったことを示すアイコンが表示されます
この通知をタップすると
と ShowMessage で記載した内容が表示されます