Delphi XE5 for Android (十一)
以下内容是根据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下不仅不能显示,由于弹出的对话框被覆盖,会导致整个程序假死。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步