android alarm相关信息
16lz
2021-01-23
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() {@Overridepublic 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() {@Overridepublic void run() {// TODO Auto-generated method stubtry {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 使用AlarmManager设置闹钟
- android闹钟(三):实现时钟功能
- android 闹钟提醒并且在锁屏下弹出Dialog对话框并播放铃声和震动
- android闹钟(四):实现计时器
- 直播代码Android怎么实现定时任务及闹钟?
- Android 8.0 设置默认闹钟提示音或者默认通知提示音
- Android 闹钟管理类的使用
- Android简易闹钟实现
- Android 获取闹钟引发的血案