这个是设置定时提醒的功能,即设置几点几分后提醒,用的是给系统设置个时间点,当系统时间到达设置的时间点的时候就会给我们发送一个广播,然后达到时间提醒功能

网上找了很多,遇到了很多坑,经过摸索出来的,比如下面设置重复时间的第二个参数,网上有很多说是执行提醒延时多少毫秒执行,我用的刷了MIUI的三星手机测试怎么都不对,经过摸索测试才发现,原来不是,原来那个参数是设定的时间点的毫秒值!好了,不多说,看代码:
/**
* 开启提醒
*/
private void startRemind(){
//得到日历实例,主要是为了下面的获取时间
mCalendar = Calendar.getInstance();
mCalendar.setTimeInMillis(System.currentTimeMillis());
//获取当前毫秒值
long systemTime = System.currentTimeMillis();
//是设置日历的时间,主要是让日历的年月日和当前同步
mCalendar.setTimeInMillis(System.currentTimeMillis());
// 这里时区需要设置一下,不然可能个别手机会有8个小时的时间差
mCalendar.setTimeZone(TimeZone.getTimeZone("GMT+8"));
//设置在几点提醒 设置的为13点
mCalendar.set(Calendar.HOUR_OF_DAY, 13);
//设置在几分提醒 设置的为25分
mCalendar.set(Calendar.MINUTE, 25);
//下面这两个看字面意思也知道
mCalendar.set(Calendar.SECOND, 0);
mCalendar.set(Calendar.MILLISECOND, 0);
//上面设置的就是13点25分的时间点
//获取上面设置的13点25分的毫秒值
long selectTime = mCalendar.getTimeInMillis();
// 如果当前时间大于设置的时间,那么就从第二天的设定时间开始
if(systemTime > selectTime) {
mCalendar.add(Calendar.DAY_OF_MONTH, 1);
}
//AlarmReceiver.class为广播接受者
Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);
//得到AlarmManager实例
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
//**********注意!!下面的两个根据实际需求任选其一即可*********
/**
* 单次提醒
* mCalendar.getTimeInMillis() 上面设置的13点25分的时间点毫秒值
*/
am.set(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(), pi);
/**
* 重复提醒
* 第一个参数是警报类型;下面有介绍
* 第二个参数网上说法不一,很多都是说的是延迟多少毫秒执行这个闹钟,但是我用的刷了MIUI的三星手机的实际效果是与单次提醒的参数一样,即设置的13点25分的时间点毫秒值
* 第三个参数是重复周期,也就是下次提醒的间隔 毫秒值 我这里是一天后提醒
*/
am.setRepeating(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(), (1000 * 60 * 60 * 24), pi);
}
/**
* 关闭提醒
*/
private void stopRemind(){
Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0,
intent, 0);
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
//取消警报
am.cancel(pi);
Toast.makeText(this, "关闭了提醒", Toast.LENGTH_SHORT).show();
}
上面第一个参数的详解:
AlarmManager.RTC,硬件闹钟,不唤醒手机(也可能是其它设备)休眠;当手机休眠时不发射闹钟。
AlarmManager.RTC_WAKEUP,硬件闹钟,当闹钟发躰时唤醒手机休眠;
AlarmManager.ELAPSED_REALTIME,真实时间流逝闹钟,不唤醒手机休眠;当手机休眠时不发射闹钟。
AlarmManager.ELAPSED_REALTIME_WAKEUP,真实时间流逝闹钟,当闹钟发躰时唤醒手机休眠;
RTC闹钟和ELAPSED_REALTIME最大的差别就是前者可以通过修改手机时间触发闹钟事件,后者要通过真实时间的流逝,即使在休眠状态,时间也会被计算。
然后写广播接受者:
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//当系统到我们设定的时间点的时候会发送广播,执行这里
}
}
最后别忘了给广播接受者配置清单文件:
<receiver android:name=".receiver.AlarmReceiver" android:process=":remote" />
使用方法就直接调用启动提醒或关闭提醒就行
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# android
# 每天定时提醒
# 定时提醒
# 定时提醒功能
# Android4.4开发之电池低电量告警提示原理与实现方法分析
# Android后台定时提醒功能实现
# Android基于广播事件机制实现简单定时提醒功能代码
# android获取情景模式和铃声 实现震动、铃声提醒
# 详解Android中Notification通知提醒
# Android编程设置提醒事件的方法
# Android高仿微信5.2.1主界面及消息提醒
# Android提醒微技巧你真的了解Dialog、Toast和Snackbar吗
# Android 开发之Dialog
# Toast
# Snackbar提醒
# Android开发之使用通知栏显示提醒信息的方法
# Android编程实现添加低电流提醒功能的方法
# 的是
# 第一个
# 我用
# 第二个
# 几分
# 几点
# 网上
# 三星手机
# 刷了
# 就会
# 会有
# 好了
# 也会
# 有很多
# 第二天
# 给我们
# 这两个
# 就行
# 可以通过
# 才发现
相关文章:
建站之星如何快速解决建站难题?
如何用IIS7快速搭建并优化网站站点?
定制建站方案优化指南:企业官网开发与建站费用解析
文字头像制作网站推荐软件,醒图能自动配文字吗?
如何快速查询域名建站关键信息?
如何做网站制作流程,*游戏网站怎么搭建?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
如何在宝塔面板中修改默认建站目录?
XML的“混合内容”是什么 怎么用DTD或XSD定义
建站主机默认首页配置指南:核心功能与访问路径优化
南宁网站建设制作定制,南宁网站建设可以定制吗?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
家庭建站与云服务器建站,如何选择更优?
高端网站建设与定制开发一站式解决方案 中企动力
免费视频制作网站,更新又快又好的免费电影网站?
实例解析Array和String方法
北京制作网站的公司,北京铁路集团官方网站?
,网站推广常用方法?
如何快速搭建FTP站点实现文件共享?
如何在宝塔面板中创建新站点?
如何在建站宝盒中设置产品搜索功能?
建站之星会员如何解锁更多建站功能?
网站图片在线制作软件,怎么在图片上做链接?
高端建站三要素:定制模板、企业官网与响应式设计优化
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
如何通过.red域名打造高辨识度品牌网站?
建站主机选虚拟主机还是云服务器更好?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
建站之星如何实现五合一智能建站与营销推广?
javascript中对象的定义、使用以及对象和原型链操作小结
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
已有域名能否直接搭建网站?
建站之星安装后如何配置SEO及设计样式?
如何挑选优质建站一级代理提升网站排名?
如何确保FTP站点访问权限与数据传输安全?
网站制作企业,网站的banner和导航栏是指什么?
如何在Tomcat中配置并部署网站项目?
建站之星如何实现PC+手机+微信网站五合一建站?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
如何快速启动建站代理加盟业务?
建站之星下载版如何获取与安装?
如何用低价快速搭建高质量网站?
如何彻底删除建站之星生成的Banner?
如何制作网站标识牌,动态网站如何制作(教程)?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
*请认真填写需求信息,我们会在24小时内与您取得联系。