Android AlarmManager报警的实现】的更多相关文章

什么是AlarmManager? AlarmManager它是Android经常使用的系统-Level提醒服务,我们指定为广播中的特定时间Intent. 我们设定一个时间,然后在该时间到来时.AlarmManager为我们广播一个我们设定的Intent,通常我们使用 PendingIntent,PendingIntent能够理解为Intent的封装包,简单的说就是在Intent上在加个指定的动作.在使用Intent的时候,我们还须要在运行startActivity.startService或se…
1.AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用,实现闹钟等提示功能 2.AlarmManager的常用方法有三个: (1)set(int type,long startTime,PendingIntent pi): 该方法用于设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟执行时间,第三个参数表示闹钟响应动作. (2)setRepea…
在消息的获取上是选择轮询还是推送得根据实际的业务需要来技术选型,例如对消息实时性比较高的需求,比如微博新通知或新闻等那就最好是用推送了.但如果只是一般的消息检测比如更新检查,可能是半个小时或一个小时一次,那用轮询也是一个不错的选择,因为不需要额外搭建推送服务器,不用额外配置推送服务.另外推送现在一般以维持长连接的方式实现,在手机客户端也会耗费一定的电量.今天就介绍一个在Android上实现轮询机制的方法——使用AlarmManager AlarmManager在Android中主要用来定时处理一…
取消alarm使用AlarmManager.cancel()函数,传入参数是个PendingIntent实例. 该函数会将所有跟这个PendingIntent相同的Alarm全部取消,怎么判断两者是否相同,android使用的是intent.filterEquals(),具体就是判断两个PendingIntent的action.data.type.class和category是否完全相同. 具体代码如下: 设置闹钟: // 指定启动AlarmActivity组件 Intent intent =…
在消息的获取上是选择 轮询还是推送得根据实际的业务需要来技术选型,例如对消息实时性比较高的需求,比如微博新通知或新闻等那就最好是用推送了.但如果只是一般的消息检测比如 更新检查,可能是半个小时或一个小时一次,那用轮询也是一个不错的选择,因为不需要额外搭建推送服务器,不用额外配置推送服务.另外推送现在一般以维持长 连接的方式实现,在手机客户端也会耗费一定的电量.今天就介绍一个在Android上实现轮询机制的方法——使用AlarmManager AlarmManager 在Android中主要用来定…
Android的闹钟实现机制非常easy, 仅仅须要调用AlarmManager.Set()方法将闹钟设置提交给系统,当闹钟时间到后,系统会依照我们的设定发送指定的广播消息.我们写一个广播去接收消息做对应处理就可以. 第一步是设置闹钟: <span style="color: rgb(51, 51, 51); font-family: 'Microsoft YaHei', Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; lin…
Android系统闹钟定时功能框架,总体来说就是用数据库存储定时数据,有一个状态管理器来统一管理这些定时状态的触发和更新.在Andriod系统中实现定时功能,最终还是要用到系统提供的AlarmManager,只是当一个定时完成后怎么继续处理,或者中间怎么更新定时的时间或者状态,像闹钟这种应用程序,每天重复定时,或者一周选择其中的几天,闹钟响了延迟5分钟再次响铃,这时候就需要想一种好的办法来让管理这些数据和状态,下面就分析一下Android系统闹钟的实现. 1.基本结构 Alarm 代表一条定时数…
在Android的Alarm机制中,使用AlarmManager可以实现类似闹钟这样的定时任务.在毕业设计项目中要实现定时任务的功能,所以在这里先进行一下梳理. (一)AlarmManager与Broadcast结合实现定时任务 AlarmManager主要可以发送定时广播,然后在广播接收器中执行任务的具体逻辑:还可以取消已经创建的定时任务.创建可以周期重复执行的定时任务等,将这几个功能进行封装,封装成AlarmManagerUtil类如下: import android.app.AlarmMa…
在开发互联网应用时候,我们常常要使用心跳来保证客户端与服务器的连接.怎么完成心跳很关键,在说道客户端心跳功能时,如果使用Timer或者专门开起一个线程来做心跳的工作,会浪费CPU工作时间,而且也会更多的消耗电量.相对来说使用AlarmManager 来处理心跳的话,使用的是系统全局的定时服务,会一定成都减少CPU的消耗,耗电量也会少很多.正好这段时间也要做推送,就顺便学习了一下怎么做心跳. // 取消已经注册的与参数匹配的闹铃 void   cancel(PendingIntent operat…
AlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟.通过对它的使用,个人觉得叫全局定时器比较合适,其实它的作用和Timer有点相似.都有两种相似的用法:(1)在指定时长后执行某项操作(2)周期性的执行某项操作 AlarmManager对象配合Intent使用,可以定时的开启一个Activity,发送一个BroadCast,或者开启一个Service. 下面的代码详细的介绍了两种定时方式的使用: (1)在指定时长后执行某项操作 //操作:发送一个广播,广播接收后Toast提示定…