Android实例-设置消息提醒(XE8+小米2)
相关资料:
1.官网实例:http://docwiki.embarcadero.com/RADStudio/XE5/en/Mobile_Tutorial:_Using_the_Notification_Center_(iOS_and_Android)
结果:
1.二个按钮可以新建消息提醒,最小化也是新建消息提醒。
2.程序必须最小化后才能点击消息提醒Label2才会有反映。
实例代码:
- unit Unit1;
- interface
- uses
- System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
- FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
- FMX.Notification, FMX.Controls.Presentation, FMX.StdCtrls,
- FMX.Platform;//需要引入
- type
- TForm1 = class(TForm)
- NotificationCenter1: TNotificationCenter;
- Button1: TButton;
- Button2: TButton;
- Label1: TLabel;
- Label2: TLabel;
- Button3: TButton;
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure Button3Click(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure NotificationCenter1ReceiveLocalNotification(Sender: TObject;
- ANotification: TNotification);
- private
- flag: Boolean;
- function HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean;
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.fmx}
- {$R *.NmXhdpiPh.fmx ANDROID}
- //延时新建一个消息提醒
- procedure TForm1.Button1Click(Sender: TObject);
- var
- MyNotification: TNotification;
- begin
- //通过消息中心创建消息
- MyNotification := NotificationCenter1.CreateNotification;
- try
- MyNotification.Name := '消息的名称'; //设置消息的名称
- MyNotification.AlertBody := '消息的内容'; //设置消息的内容
- MyNotification.Number := ;//设置图标标号
- MyNotification.FireDate := Now + EncodeTime(,, , ); //设置 10 秒后触发消息
- //将消息提交消息中心,并于指定时间触发
- NotificationCenter1.ScheduleNotification(MyNotification);
- Label2.Text := '';
- finally
- MyNotification.DisposeOf; //释放消息接口
- end;
- end;
- //即时新建消息提醒
- procedure TForm1.Button2Click(Sender: TObject);
- var
- MyNotification: TNotification;
- begin
- MyNotification :=NotificationCenter1.CreateNotification; //通过消息中心创建消息
- try
- MyNotification.Name:= '消息的名称'; //设置消息的名称
- MyNotification.AlertBody := '消息的内容'; //设置消息的内容
- MyNotification.Number := ;//设置图标标号
- MyNotification.EnableSound := True;//有提示音
- NotificationCenter1.PresentNotification(MyNotification); //将消息提交消息中心
- Label2.Text := '';
- finally
- MyNotification.DisposeOf; //释放消息接口
- end;
- end;
- //取消消息提醒
- procedure TForm1.Button3Click(Sender: TObject);
- begin
- NotificationCenter1.CancelNotification('消息的名称');
- end;
- //主要是为程序挂接事件
- procedure TForm1.FormCreate(Sender: TObject);
- var
- aFMXApplicationEventService: IFMXApplicationEventService;
- begin
- flag := True;
- if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, IInterface(aFMXApplicationEventService)) then
- aFMXApplicationEventService.SetApplicationEventHandler(HandleAppEvent)
- else
- flag := False;
- end;
- //将要挂接在程序上的事件,此事件是最小化时新建一个消息提醒
- function TForm1.HandleAppEvent(AAppEvent: TApplicationEvent;
- AContext: TObject): Boolean;
- var
- MyNotification: TNotification;
- begin
- if flag = False then
- Exit;
- case AAppEvent of
- TApplicationEvent.aeEnteredBackground://监测,当程序后台运行时执行以下事件
- begin
- //通过消息中心创建消息
- MyNotification := NotificationCenter1.CreateNotification;
- try
- MyNotification.Name :='消息的名称'; //设置消息的名称
- //设置消息的内容
- MyNotification.AlertBody := '消息的内容';
- MyNotification.Number := ; //设置图标标号
- MyNotification.EnableSound := True;
- NotificationCenter1.PresentNotification(MyNotification); //将消息提交消息中心
- Label2.Text := '';
- finally
- MyNotification.DisposeOf; //释放消息接口
- end;
- end;
- end;
- Result := True;
- end;
- //程序最小化后,点消提醒时,发生此事件
- procedure TForm1.NotificationCenter1ReceiveLocalNotification(Sender: TObject;
- ANotification: TNotification);
- begin
- //收到消息后程序的操作
- Label2.Text := '收到' + ANotification.Name + '的消息!';
- end;
- end.
Android实例-设置消息提醒(XE8+小米2)的更多相关文章
- Android实例-读取设备联系人(XE8+小米2)
相关资料: http://www.colabug.com/thread-1071065-1-1.html 结果: 1.将权限打开Read contacts设置为True,不然报图一的错误. 2.搜索空 ...
- Android实例-OrientationSensor方向传感器(XE8+小米2)
相关资料: <修复 XE8 for Android 方向传感器 headingX,Y,Z 不会动的问题>:http://www.cnblogs.com/onechen/p/4497282. ...
- Android实例-TTabControl的使用(XE8+小米2)
结果: 1.如果直接改变Tab的TabIndex,那样是没有动态效果的.如果想要动态效果需要用到ChangeTabAction1; 2.ChangeTabAction1可以直接为按钮指定Action ...
- Android实例-闪光灯的控制(XE8+小米2)
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Var ...
- Android实例-消息框(XE8+小米2)
方法一支持. 方法二与方法三都是三方单元,功能相同. 方法4与方法5报错,提示平台不支持. 第三方单元一: unit Android.JNI.Toast; // Java bridge class i ...
- Android实例-调用系统APP(XE10+小米2)
相关资料:群号383675978 实例源码: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, Sys ...
- Android实例-获取程序版本号(XE10+小米2)
相关资料: 383675978群号 实例源码: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, Sy ...
- Android实例-红外线操作(XE10.2+小米5)
相关资料: http://blog.csdn.net/qq_21752153/article/details/50244717https://developer.xamarin.com/api/typ ...
- Android 图标添加消息提醒
实现方法: 1. 在对应的布局放置TextView或者ImageView. 2. 用Canvas在原来Icon的bitmap基础上进行绘制 3. 利用开源项目ViewBadger进行添加,很方便,而且 ...
随机推荐
- Java 另一道构造器与构造器重载的题目
题目: 请写出以下程序的输出结果 public class ConstructorTest2 { public static void main(String[] args) { new B(&quo ...
- C#基础精华04(文件流,文件操作,File、Directory、Path,Directory)
文件流 FileStream 可读可写 大文件 释放 StreamReader 读取 释放 StreamWriter 写入 释放 using 中释放 File 可读可写 小文件 操作文 ...
- CodeForces114E——Double Happiness(素数二次筛选)
Double Happiness On the math lesson a teacher asked each pupil to come up with his own lucky numbers ...
- chrome渲染hover状态tranform相邻元素抖动bug
最近同事在使用 css3 的 transition + tranform 的时候影响了相邻的元素出现bug.或者说相邻的元素出现抖动bug. 然而把 hover 状态的 tranform 属性删了后, ...
- Target host is not specified错误
对于httpClient4.3访问指定页面,可以从下面的demo抽取方法使用. 注意:对于URL必须使用 http://开始,否则会有如下报错信息: 或者在设置cookie时带上domain: coo ...
- python项目
python实战项目: http://www.the5fire.com/category/python实战/ python基础教程中的十个项目: python项目练习一:即时标记 python项目练习 ...
- poj2482Stars in Your Window(线段树+离散化+扫描线)
http://poj.org/problem?id=2482 类似于上一篇 这题转化的比较巧妙 将一个点转化为一个矩形(x,y, x+w,y+h),扫描线入值为正 出值为负 也就是一根线过去 每进入一 ...
- naotu.baidu.com 非常棒的脑图在线工具
1.png 2.txt 短租 前台功能 房源查看 房源搜索 城市房源 注册登录 预定房源 房源退订 在线支付 评价房源 个人中心 我的订单 我的账户 我的收藏 消息通知 管理员后台 房源发布 会员管理 ...
- function 的声明
<?php function test() { echo "abc"; } test(); ?> 结论: 一 编译 a.对 函数声明进行词法分析和语法分析:在语法分析中 ...
- BZOJ2542: [Ctsc2001]终极情报网
题解: 乘积最小只需要取对数.然后反向边就变成1/c,而不是-c了. 精度问题搞得我已经我想说什么了... 贴一份网上的pascal 代码: type ss=record x,y,c,r,next:l ...