AlarmManager的学习与实现】的更多相关文章

综述     这个类提供了一种使用系统提供的alarm服务.这个服务同意用户安排他们的应用程序在将来的某一个时间点执行.当设置的alarm响起,那么之前系统为这个alarm注冊的Intent就会自己主动的执行目标应用程序(假设此时应用程序还没有执行).即使在系统处于休眠状态时(假设在此期间alarm响起,那么就会唤醒设备),系统注冊的alarm依然保持,可是当alarm被关闭或者是系统重新启动后,之前设置的alarm就会被清除.     在alarm的接收者的onReceive()方法运行的过程…
对应AlarmManage有一个AlarmManagerServie服务程 序,该服务程序才是正真提供闹铃服务的,它主要维护应用程序注册下来的各类闹铃并适时的设置即将触发的闹铃给闹铃设备(在系统中,linux实现的设备名 为”/dev/alarm”),并且一直监听闹铃设备,一旦有闹铃触发或者是闹铃事件发生,AlarmManagerServie服务程序就会遍历闹铃列 表找到相应的注册闹铃并发出广播.该服务程序在系统启动时被系统服务程序system_service启动并初始化闹铃设备(/dev/al…
因为Timer不能唤醒cpu,所以会在省电的原因下失效,所以需要唤醒cpu在后台稳定化的执行任务,AlarmManager能够唤醒cpu 这个例子讲解了如何通过Service来在后他每一个小时执行.特定的任务,原理是在Service里面设置一个一小时定时,然后到了一个小时以后启动BroadCast,然后在onReceive方法中再次启动Service,这样每一个小时就启动一次Service,行程循环 代码如下 activity protected void onCreate(Bundle sav…
AlarmManager称呼为全局定时器,有的称呼为闹钟.其实它的作用和Timer有点相似. 都有两种相似的用法: (1)在指定时长后执行某项操作(2)周期性的执行某项操作 AlarmManager 包含的主要方法: // 取消已经注册的与参数匹配的定时器 void cancel(PendingIntent operation) //注册一个新的延迟定时器void set(int type, long triggerAtTime, PendingIntent operation) //注册一个重…
说实话,之前写的两篇博客Android广播机制Broadcast详解.Android时间.日期相关类和方法以及现在要写的,都算是为之后要写的闹钟应用做铺垫,有兴趣的话,大家可以去看看前两篇博客. 一.AlarmManager简介 对于一个闹钟应用的实现,个人觉得最主要的应该要属于AlarmManager了.AlarmManager称为全局定时器,字面意思就是闹钟管理(请原谅我蹩脚的英语),是Android中常用的一种系统级别的提示服务,在特定的时刻为我们广播一个指定的Intent.简单的说就是我…
在开发互联网应用时候,我们常常要使用心跳来保证客户端与服务器的连接.怎么完成心跳很关键,在说道客户端心跳功能时,如果使用Timer或者专门开起一个线程来做心跳的工作,会浪费CPU工作时间,而且也会更多的消耗电量.相对来说使用AlarmManager 来处理心跳的话,使用的是系统全局的定时服务,会一定成都减少CPU的消耗,耗电量也会少很多.正好这段时间也要做推送,就顺便学习了一下怎么做心跳. // 取消已经注册的与参数匹配的闹铃 void   cancel(PendingIntent operat…
一.基础知识 当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如<地震及时通>就需要及时获取服务器上最新的地震信息.要获取服务器上不定时更新的信息一般来说有两种方法,第一种是客户端使用Pull(拉)的方式,隔一段时间就去服务器上获取信息,看是否有更新的信息出现.第二种就是服务器使用Push(云端推送)的方式,当服务器端有新信息了,则把最新的信息Push到客户端上. 虽然Pull和Push两种方式都能实现获取服务器端更新信息的功能,但是明显来说Push is bette…
第1章 初识android1.1 android平台概述1.2 android平台体系1.2.1 linux kernel内核层1.2.2 系统运行库libraries和android runtime层1.2.3 application framework应用程序框架层1.2.4 application应用程序层1.3 android开发环境配置1.4 在eclipse环境配置android sdk及创建avd1.5 在eclipse中创建android第一个项目并运行1.6 在eclipse中…
最近做了一个应用,要求如下: 程序运行之后的一段时间,分别触发3个不同的事件.当然很快就想到了Android中的AlarmManager和BroadcastReceiver.但是毕竟Mono环境和Java环境还是有所不同的,那么在Mono环境下如何实现呢? 最初我是想获取3个AlarmManager来实现,每个AlarmManager控制一个事件的发生,采用3个不同的BroadcastReceiver来接受传递过来的Intent消息,但觉得这样有点浪费资源.后来仔细查看Api才发现只要合理的设置…
android工程实践 1.仿360一键清理实现(一) "一键清理"是一个桌面图标,点击图标后,显示一个视图.进行清理动画.之后显示清理了几个进程,释放了多少M内存.点击"设置过滤名单"启动另外一个Activity编辑过滤名单 1.仿360一键清理实现(二) "一键清理"是一个桌面图标,点击图标后,显示一个视图,进行清理动画,之后显示清理了几个进程,释放了多少M内存.点击"设置过滤名单"启动另外一个Activity编辑过滤名单…