在尝试在我的项目中实现通知时,Delphi西雅图无法正确引用FMX.Notification
。
这是我得到的:
[DCC致命错误]UnitMain.pas(27): F2613通知' not found.
然后它自动引用System.Notification
,但是当试图使用这个类的对象时,它会崩溃我的Android应用程序。
如何在Delphi西雅图正确实现通知?
注意:必须同时在iOS
和Android
上运行
根据Embarcadero的官方西雅图变化:
那么玩FMX。通知单元已被System.Notification
取代。
TNotificationCenter
组件现在支持Windows 8和更高的Windows版本。这个组件也经历了一些小的变化:
- 它提供了一个Loaded属性来检查通知中心是否准备使用。
-
ApplicationIconBadgeNumber
的类型由Word变为Integer. - 其
Supported
方法不再需要,已被删除。
TBaseNotificationCenter
类已经取代了IFMXNotificationCenter
接口。过去实现IFMXNotificationCenter
接口的类必须成为TBaseNotificationCenter
的子类,并实现父类的虚抽象方法。
这就是我如何想出现在显示通知:
procedure TForm_Master.showNotification(Sender: TObject);
var
MyNotification: TNotification;
begin
MyNotification := NotificationCenter1.CreateNotification;
try
MyNotification.Name := 'NotificationName';
MyNotification.AlertBody :=
'Here goes your message';
MyNotification.FireDate := Now;
// Send notification to the notification center
NotificationCenter1.ScheduleNotification(MyNotification);
finally
MyNotification.Free;
end;
end;