1

在我的项目中尝试实现通知时,Delphi Seattle 无法FMX.Notification正确引用。

这就是我得到的:

[DCC 致命错误] UnitMain.pas(27):未找到 F2613 单元“FMX.Notification”。

然后它会自动引用System.Notification,但是在尝试使用此类中的对象时它会导致我的 Android 应用程序崩溃。

如何在 Delphi Seattle 上正确实施通知?

注意:它必须同时在iOS和上运行Android

4

1 回答 1

3

根据Embarcadero 的西雅图官方改动

FMX.Notification 单元已被替换为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;
于 2015-10-14T16:22:07.667 回答