1. Action定义:
public static final String ALARM_SNOOZE_ACTION = "com.android.deskclock.ALARM_SNOOZE"; public static final String ALARM_DISMISS_ACTION = "com.android.deskclock.ALARM_DISMISS"; public static final String ALARM_DONE_ACTION = "com.android.deskclock.ALARM_DONE"; public static final String ALARM_ALERT_ACTION = "com.android.deskclock.ALARM_ALERT";
2.注册闹钟广播:
private void registerAlarm() { IntentFilter filter = new IntentFilter(); filter.addAction("com.android.deskclock.ALARM_ALERT"); filter.addAction("com.android.deskclock.ALARM_DONE"); filter.addAction("com.android.deskclock.ALARM_DISMISS"); filter.addAction("com.android.deskclock.ALARM_SNOOZE"); registerReceiver(mReceiver, filter); } private BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.i("Tag", "AlarmActivity - Broadcast Receiver - " + action); if (action.equals(ALARM_SNOOZE_ACTION)) { // snooze(); } else if (action.equals(ALARM_DISMISS_ACTION)) { // dismiss(); } else if (action.equals("com.android.deskclock.ALARM_ALERT")) { new Thread(waitStopAlarm).start(); } else { Log.i("Tag", "Unknown broadcast in AlarmActivity: " + action); } } };
private Runnable waitStopAlarm = new Runnable() { @Override public void run() { // TODO Auto-generated method stub try { Thread.sleep(2000); } catch (Exception e) { // TODO: handle exception } stopAlarm(); } }; private void stopAlarm() { Log.i("Tag", "stop alarm"); Intent intent = new Intent(); intent.setAction("com.android.deskclock.ALARM_DISMISS"); sendBroadcast(intent); } private void snoozeAlarm() { Intent intent = new Intent(); intent.setAction("com.android.deskclock.ALARM_SNOOZE"); sendBroadcast(intent); }
3.新增加闹钟:
Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM); intent.putExtra(AlarmClock.EXTRA_MESSAGE, "New Alarm!"); intent.putExtra(AlarmClock.EXTRA_HOUR, hour); intent.putExtra(AlarmClock.EXTRA_MINUTES, minutes); intent.putExtra(AlarmClock.EXTRA_SKIP_UI, true); startActivity(intent);
4.权限:
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
详细信息请移步:http://blog.csdn.net/yihongyuelan
相关推荐
android alarm alert android alarm alert
Android alarm流程从上层到内核的完整分析,很完整,代码分析很全
android alarmclock 源代码
android真机实测通过的AlarmClock程序
android alarm for beginir
轻轻松松创建一个定时任务 Android_Alarm机制
网上获取的,给需要理解android alarm机制者使用。 alarm从底层到上层都有讲解。
都是src文件,希望帮助大家,我做android时钟的时候找到的,官网文件
Android AlarmClock 闹钟源码,已调试完成,可以本地运行,和系统闹钟不存在冲突,android系统版本必须为2.2 。
NULL 博文链接:https://zhouyunan2010.iteye.com/blog/1133336
com.android.alarmclock
android-alarm.doc PendingInent 与 AlarmManager
Android OS手机,C语言编程使用alarm定时器;若手机echo mem > /sys/power/state即将进入deep! Z状态时,启动alarm定时器,当到达设定的时间点,手机暂时被唤醒(若不进行resume操作,稍等片刻,系统再次进入deep! Z...
Android内核驱动——Alarm~~~~~~~~~
Alarm唤醒
闹钟app,android程序
这是Pro Android学习系列中alarm manager部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512
the document of the alarm manager
android闹钟系统-alarm.doc android闹钟系统-alarm.doc