以下內容是根據Delphi的幫助文件進行試驗的,主要測試Android下的消息提醒。
首先建立一個空白的Android工程,然后在窗體中加入一個TNotificationCenter控件,如下圖:
再在uses中引用文件,如下:
uses FMX.Platform;
窗體上控件放置如下圖:
發送消息的代碼如下:
procedure TForm2.Button2Click(Sender: TObject);
var
MyNotification: TNotification;
begin
//通過消息中心創建消息
MyNotification := NotificationCenter1.CreateNotification;
try
//設置消息的名稱
MyNotification.Name := 'Schedule Notification';
//設置消息的內容
MyNotification.AlertBody := 'Schedule Notification:' + edtSchedule.Text;
//設置圖標標號
MyNotification.Number := 18;
//設置10秒后觸發消息
MyNotification.FireDate := Now + EncodeTime(0, 0, 10, 0);
//將消息提交消息中心,並於指定時間觸發,直接發送用PresentNotification
NotificationCenter1.ScheduleNotification(MyNotification);
finally
//釋放消息接口
MyNotification.DisposeOf;
end;
end;
運行后,點擊Schedule按鈕10秒后看到消息提示,如下圖:
當用戶點擊消息時,觸發onReceiveLocalNotification事件,通過ANotification參數了解到客戶點擊的是哪條消息並作出處理。代碼如下:
procedure TForm2.NotificationCenter1ReceiveLocalNotification(Sender: TObject;
ANotification: TNotification);
begin
//收到用戶對消息的操作
Label1.Text := '收到' + ANotification.Name + '的消息';
end;
執行結果如下圖:
注意:不要按照Help中的例子在onReceiveLocalNotification事件使用ShowMessage,在Android下不僅不能顯示,由於彈出的對話框被覆蓋,會導致整個程序假死。




