相关资料:

1.官网实例:http://docwiki.embarcadero.com/RADStudio/XE5/en/Mobile_Tutorial:_Using_the_Notification_Center_(iOS_and_Android)

结果:

1.二个按钮可以新建消息提醒,最小化也是新建消息提醒。

2.程序必须最小化后才能点击消息提醒Label2才会有反映。

实例代码:

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  7. FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  8. FMX.Notification, FMX.Controls.Presentation, FMX.StdCtrls,
  9. FMX.Platform;//需要引入
  10.  
  11. type
  12. TForm1 = class(TForm)
  13. NotificationCenter1: TNotificationCenter;
  14. Button1: TButton;
  15. Button2: TButton;
  16. Label1: TLabel;
  17. Label2: TLabel;
  18. Button3: TButton;
  19. procedure Button1Click(Sender: TObject);
  20. procedure Button2Click(Sender: TObject);
  21. procedure Button3Click(Sender: TObject);
  22. procedure FormCreate(Sender: TObject);
  23. procedure NotificationCenter1ReceiveLocalNotification(Sender: TObject;
  24. ANotification: TNotification);
  25. private
  26. flag: Boolean;
  27. function HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean;
  28. { Private declarations }
  29. public
  30. { Public declarations }
  31. end;
  32.  
  33. var
  34. Form1: TForm1;
  35.  
  36. implementation
  37. {$R *.fmx}
  38. {$R *.NmXhdpiPh.fmx ANDROID}
  39.  
  40. //延时新建一个消息提醒
  41. procedure TForm1.Button1Click(Sender: TObject);
  42. var
  43. MyNotification: TNotification;
  44. begin
  45. //通过消息中心创建消息
  46. MyNotification := NotificationCenter1.CreateNotification;
  47. try
  48. MyNotification.Name := '消息的名称'; //设置消息的名称
  49. MyNotification.AlertBody := '消息的内容'; //设置消息的内容
  50. MyNotification.Number := ;//设置图标标号
  51. MyNotification.FireDate := Now + EncodeTime(,, , ); //设置 10 秒后触发消息
  52. //将消息提交消息中心,并于指定时间触发
  53. NotificationCenter1.ScheduleNotification(MyNotification);
  54. Label2.Text := '';
  55. finally
  56. MyNotification.DisposeOf; //释放消息接口
  57. end;
  58. end;
  59.  
  60. //即时新建消息提醒
  61. procedure TForm1.Button2Click(Sender: TObject);
  62. var
  63. MyNotification: TNotification;
  64. begin
  65. MyNotification :=NotificationCenter1.CreateNotification; //通过消息中心创建消息
  66. try
  67. MyNotification.Name:= '消息的名称'; //设置消息的名称
  68. MyNotification.AlertBody := '消息的内容'; //设置消息的内容
  69. MyNotification.Number := ;//设置图标标号
  70. MyNotification.EnableSound := True;//有提示音
  71. NotificationCenter1.PresentNotification(MyNotification); //将消息提交消息中心
  72. Label2.Text := '';
  73. finally
  74. MyNotification.DisposeOf; //释放消息接口
  75. end;
  76. end;
  77.  
  78. //取消消息提醒
  79. procedure TForm1.Button3Click(Sender: TObject);
  80. begin
  81. NotificationCenter1.CancelNotification('消息的名称');
  82. end;
  83.  
  84. //主要是为程序挂接事件
  85. procedure TForm1.FormCreate(Sender: TObject);
  86. var
  87. aFMXApplicationEventService: IFMXApplicationEventService;
  88. begin
  89. flag := True;
  90. if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, IInterface(aFMXApplicationEventService)) then
  91. aFMXApplicationEventService.SetApplicationEventHandler(HandleAppEvent)
  92. else
  93. flag := False;
  94. end;
  95.  
  96. //将要挂接在程序上的事件,此事件是最小化时新建一个消息提醒
  97. function TForm1.HandleAppEvent(AAppEvent: TApplicationEvent;
  98. AContext: TObject): Boolean;
  99. var
  100. MyNotification: TNotification;
  101. begin
  102. if flag = False then
  103. Exit;
  104. case AAppEvent of
  105. TApplicationEvent.aeEnteredBackground://监测,当程序后台运行时执行以下事件
  106. begin
  107. //通过消息中心创建消息
  108. MyNotification := NotificationCenter1.CreateNotification;
  109. try
  110. MyNotification.Name :='消息的名称'; //设置消息的名称
  111. //设置消息的内容
  112. MyNotification.AlertBody := '消息的内容';
  113. MyNotification.Number := ; //设置图标标号
  114. MyNotification.EnableSound := True;
  115. NotificationCenter1.PresentNotification(MyNotification); //将消息提交消息中心
  116. Label2.Text := '';
  117. finally
  118. MyNotification.DisposeOf; //释放消息接口
  119. end;
  120. end;
  121. end;
  122. Result := True;
  123. end;
  124.  
  125. //程序最小化后,点消提醒时,发生此事件
  126. procedure TForm1.NotificationCenter1ReceiveLocalNotification(Sender: TObject;
  127. ANotification: TNotification);
  128. begin
  129. //收到消息后程序的操作
  130. Label2.Text := '收到' + ANotification.Name + '的消息!';
  131. end;
  132.  
  133. end.

Android实例-设置消息提醒(XE8+小米2)的更多相关文章

  1. Android实例-读取设备联系人(XE8+小米2)

    相关资料: http://www.colabug.com/thread-1071065-1-1.html 结果: 1.将权限打开Read contacts设置为True,不然报图一的错误. 2.搜索空 ...

  2. Android实例-OrientationSensor方向传感器(XE8+小米2)

    相关资料: <修复 XE8 for Android 方向传感器 headingX,Y,Z 不会动的问题>:http://www.cnblogs.com/onechen/p/4497282. ...

  3. Android实例-TTabControl的使用(XE8+小米2)

    结果:  1.如果直接改变Tab的TabIndex,那样是没有动态效果的.如果想要动态效果需要用到ChangeTabAction1; 2.ChangeTabAction1可以直接为按钮指定Action ...

  4. Android实例-闪光灯的控制(XE8+小米2)

    unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Var ...

  5. Android实例-消息框(XE8+小米2)

    方法一支持. 方法二与方法三都是三方单元,功能相同. 方法4与方法5报错,提示平台不支持. 第三方单元一: unit Android.JNI.Toast; // Java bridge class i ...

  6. Android实例-调用系统APP(XE10+小米2)

    相关资料:群号383675978 实例源码: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, Sys ...

  7. Android实例-获取程序版本号(XE10+小米2)

    相关资料: 383675978群号 实例源码: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, Sy ...

  8. Android实例-红外线操作(XE10.2+小米5)

    相关资料: http://blog.csdn.net/qq_21752153/article/details/50244717https://developer.xamarin.com/api/typ ...

  9. Android 图标添加消息提醒

    实现方法: 1. 在对应的布局放置TextView或者ImageView. 2. 用Canvas在原来Icon的bitmap基础上进行绘制 3. 利用开源项目ViewBadger进行添加,很方便,而且 ...

随机推荐

  1. Java 另一道构造器与构造器重载的题目

    题目: 请写出以下程序的输出结果 public class ConstructorTest2 { public static void main(String[] args) { new B(&quo ...

  2. C#基础精华04(文件流,文件操作,File、Directory、Path,Directory)

    文件流 FileStream  可读可写  大文件  释放 StreamReader 读取   释放 StreamWriter 写入   释放 using 中释放 File 可读可写  小文件 操作文 ...

  3. CodeForces114E——Double Happiness(素数二次筛选)

    Double Happiness On the math lesson a teacher asked each pupil to come up with his own lucky numbers ...

  4. chrome渲染hover状态tranform相邻元素抖动bug

    最近同事在使用 css3 的 transition + tranform 的时候影响了相邻的元素出现bug.或者说相邻的元素出现抖动bug. 然而把 hover 状态的 tranform 属性删了后, ...

  5. Target host is not specified错误

    对于httpClient4.3访问指定页面,可以从下面的demo抽取方法使用. 注意:对于URL必须使用 http://开始,否则会有如下报错信息: 或者在设置cookie时带上domain: coo ...

  6. python项目

    python实战项目: http://www.the5fire.com/category/python实战/ python基础教程中的十个项目: python项目练习一:即时标记 python项目练习 ...

  7. poj2482Stars in Your Window(线段树+离散化+扫描线)

    http://poj.org/problem?id=2482 类似于上一篇 这题转化的比较巧妙 将一个点转化为一个矩形(x,y, x+w,y+h),扫描线入值为正 出值为负 也就是一根线过去 每进入一 ...

  8. naotu.baidu.com 非常棒的脑图在线工具

    1.png 2.txt 短租 前台功能 房源查看 房源搜索 城市房源 注册登录 预定房源 房源退订 在线支付 评价房源 个人中心 我的订单 我的账户 我的收藏 消息通知 管理员后台 房源发布 会员管理 ...

  9. function 的声明

    <?php function test() { echo "abc"; } test(); ?> 结论: 一 编译 a.对 函数声明进行词法分析和语法分析:在语法分析中 ...

  10. BZOJ2542: [Ctsc2001]终极情报网

    题解: 乘积最小只需要取对数.然后反向边就变成1/c,而不是-c了. 精度问题搞得我已经我想说什么了... 贴一份网上的pascal 代码: type ss=record x,y,c,r,next:l ...