Android开发之实现对闹钟Alarm的控制
来源:互联网 发布:软件配置文件编辑 编辑:程序博客网 时间:2024/05/01 03:56
随着可穿戴及其他一些辅助设备的出现,在这些设备上实现对Android手机的控制就有了需求,如下图。
Android 闹钟应用是在packages/apps/DeskClock下面,查看相关代码发现,闹钟响起的时候会启动一个叫AlarmActivity的类,而这个类注册Receiver来接受广播。
action字符串的定义:
// AlarmActivity listens for this broadcast intent, so that other applications // can snooze the alarm (after ALARM_ALERT_ACTION and before ALARM_DONE_ACTION). public static final String ALARM_SNOOZE_ACTION = "com.android.deskclock.ALARM_SNOOZE"; // AlarmActivity listens for this broadcast intent, so that other applications // can dismiss the alarm (after ALARM_ALERT_ACTION and before ALARM_DONE_ACTION). public static final String ALARM_DISMISS_ACTION = "com.android.deskclock.ALARM_DISMISS";
receiver的注册:
IntentFilter filter = new IntentFilter(AlarmService.ALARM_DONE_ACTION); filter.addAction(ALARM_SNOOZE_ACTION); filter.addAction(ALARM_DISMISS_ACTION); registerReceiver(mReceiver, filter);
Receiver的处理动作:
private BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.v("AlarmActivity - Broadcast Receiver - " + action); if (action.equals(ALARM_SNOOZE_ACTION)) { snooze(); } else if (action.equals(ALARM_DISMISS_ACTION)) { dismiss(); } else if (action.equals(AlarmService.ALARM_DONE_ACTION)) { finish(); } else { Log.i("Unknown broadcast in AlarmActivity: " + action); } } };
发送相应广播就可以实现闹钟的Snooze和Dismiss。
那可穿戴设备如何获取手机上闹钟的状态呢? 其实也是通过接受广播来实现:
// A public action send by AlarmService when the alarm has started. public static final String ALARM_ALERT_ACTION = "com.android.deskclock.ALARM_ALERT"; // A public action sent by AlarmService when the alarm has stopped for any reason. public static final String ALARM_DONE_ACTION = "com.android.deskclock.ALARM_DONE";
上面第一条是闹钟响起,第二条就是闹钟被操作。 注册相应的Receiver即可。
1 0
- Android开发之实现对闹钟Alarm的控制
- Android开发之实现对闹钟Alarm的控制
- Android中对闹钟Alarm的事件处理
- Android Alarm manager 定时闹钟开发详解
- Android Alarm manager 定时闹钟开发详解
- Android Alarm manager 定时闹钟开发详解
- Android Alarm manager定时闹钟开发详解
- Android Alarm manager 定时闹钟开发详解
- android 闹钟 Alarm
- android Alarm 闹钟
- Android--Alarm,定时闹钟
- Android开发学习之闹钟功能的简单实现
- Android API19 设置Alarm闹钟
- Android之实现闹钟
- Android闹钟的实现!
- Android闹钟的实现!
- android 闹钟的实现
- 闹钟(Alarm)
- 字符串的一些算法
- ubuntu无线上网静态ip配置
- poj 1658
- java入门学习(十二)
- linux中的文件类型
- Android开发之实现对闹钟Alarm的控制
- Maven使用教程
- 100条有效学习方法
- linux命令历史和 Tab 自动补全
- java内部类的作用分析
- SP2010开发和VS2010专家"食谱"--第二章节--工作流(1)--创建顺序工作流
- Windows 基础入门(2)
- 一些小知识 零散的C++
- 操作被占用的文件-unlocker机理分析