之前的博文一直在持续分享Phone相关的知识也算是知识笔记,但在工作中难免遇到其它模块的一些问题,因此在解决这些问题的时候顺手将这些知识记录并分享出来。有些知识在不知道的时候会认为很难,当了解之后便会觉得很容易。同时部分知识也是具有时效性的,比如随着Android版本的更迭,Phone的架构变化等等,因此希望自己的笔记能够帮助到一些童鞋,这样就足够了。
转载请务必注明出处:http://blog.csdn.net/yihongyuelan
Android中如果闹钟响起时,而应用需要对此做一些处理应该怎么办呢?首先我们需要接收到该事件,之后再考虑是关闭(stop)还是小睡(snooze)。在代码packages/apps/DeskClock/src/com/android/deskclock/alarms/AlarmService.java 中有如下描述:
35 // A public action send by AlarmService when the alarm has started.
36 public static final String ALARM_ALERT_ACTION = "com.android.deskclock.ALARM_ALERT";
37
38 // A public action sent by AlarmService when the alarm has stopped for any reason.
39 public static final String ALARM_DONE_ACTION = "com.android.deskclock.ALARM_DONE";
通过查看注释可以知道,系统提供了两个Action用于广播闹钟事件,包括:com.android.deskclock.ALARM_ALERT和com.android.deskclock.ALARM_DONE,即当闹钟响起时触发com.android.deskclock.ALARM_ALERT,而当闹钟停止或者小睡时触发com.android.deskclock.ALARM_DONE。也就说需要监听广播事件就注册一个广播监听器: