专题一alarm
第一课、
1、 功能:一般用作闹钟
2、 工作流程:
App->获取系统服务(alarm service)->返回特定类型的对象(Alarm Manager)->
启动闹钟->定时时间到后通过广播通知app(也可以通过activity或service通知)->广播接收器(broadcast receiver)->进行处理
二、分析Alarm Manager类
进入下面网站:
http://www.android-doc.com/ -》点击API文档-》android.app-》classes-》Alarm Manager
-》public methods
Schedule an alarm起到一个一次性的定时器
| void set(int type, long triggerAtMillis, PendingIntent operation) |
Schedule a repeatingalarm启动一个重复性的定时器
Void setRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent operation)
|
|
参数:
1、type可以取值为:One of ELAPSED_REALTIME, ELAPSED_REALTIME_WAKEUP, RTC, or RTC_WAKEUP,一般使用RTC_WAKEUP,表示即使android即使处于休眠状态,一旦定时器超时也会触发事件/
2、triggerAtMillis为超时时间,单位是ms
3、operation:当定时器超时后执行什么事件,一般为发烧广播/4、intervalMillis:为重复闹钟俩次响铃的时间间隔
三、开始编写app
最后过滤打印信息:adb logcat -s alarm
第二课
整体框架:
1、进入

本文深入剖析了Android系统的Alarm框架,从AlarmManager类的使用,到AlarmManagerService的内部实现,再到JNI层与硬件驱动的交互。文章详细解释了如何设置一次性与重复性的闹钟,并着重介绍了alarm驱动层的工作原理,包括alarm-dev.c和rtc驱动的交互,以及内核中的注册和初始化过程。
最低0.47元/天 解锁文章
929

被折叠的 条评论
为什么被折叠?



