Android Alarm
来源:互联网 发布:网页 字幕 滚动 js 编辑:程序博客网 时间:2024/05/22 13:38
1> 用户添加闹钟后,是什么时候开始检查的? 怎么检查的?
When:Trigger the check in 5s from now.
//接受者
CalendarProvider2
case REMINDERS:
{
id = mDbHelper.remindersInsert(values);
// Trigger the check in 5s from now
long triggerAtTime = SystemClock.elapsedRealtime() + ALARM_CHECK_DELAY_MILLIS;
set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pending);
Intent intent = new Intent(ACTION_CHECK_NEXT_ALARM);
// ..................
mAlarmManager.set(type, triggerAtTime, operation); //设置闹钟,给定触发时间。
}
//接受者
CalendarProviderBroadcastReceiver {
onReceive {
//com.android.providers.calendar.intent.CalendarProvider2
context.startService(CalendarProviderIntentService);
}
}
//处理者
CalendarProviderIntentService {
onHandleIntent ->CalendarAlarmManager.runScheduleNextAlarm
->CalendarAlarmManager.scheduleNextAlarmLocked
-> CalendarContract.CalendarAlerts.scheduleAlarm(mContext, mAlarmManager, alarmTime);
-> scheduleNextAlarmCheck(nextAlarmTime + DateUtils.MINUTE_IN_MILLIS);
}
请求者。
CalendarAlarmManager
{
-> Intent intent = new Intent(CalendarReceiver.SCHEDULE);
}
//接受者
CalendarReceiver {
onReceive {
//com.android.providers.calendar.SCHEDULE_ALARM
//处理者
ExecutorService.submit-> cr.update(CalendarAlarmManager.SCHEDULE_ALARM_URI, null /* values */, null /* where */, null /* selectionArgs */);
}
}
2>闹钟是什么时候开始唤醒的?怎么唤醒的?
a->action android:name="android.intent.action.BOOT_COMPLETED"
->AlertReceiver
->context.startService(AlertService);
b)->AlertService ->processMessage->InitAlarmsService->onHandleIntent->
- android alarm
- Android Alarm
- 【Alarm】Android中alarm的使用
- android 闹钟 Alarm
- android Alarm 闹钟
- Android--Alarm,定时闹钟
- Android alarm解析
- android alarm类型
- android alarm底层理解
- Android之Alarm
- android之Alarm
- Android Alarm:要点解析
- Android之Alarm
- 【Android】全局定时器Alarm
- Android之Alarm
- android Alarm机制
- Android Alarm的使用
- Android Alarm详解
- 敏捷开发系列之旅 第四站(透明的Crystal水晶方法)
- 性能测试需要掌握什么
- MyReport数据导出引擎——MyReport的好帮手,支持Excel导出
- CF 402-D 贪心
- 关于多列(复合)索引使用时的一个小问题
- Android Alarm
- J2EE Web开发环境的搭建!!
- Commons DbUtis源码阅读四
- Mental ray 渲染器常用设置
- 校赛随笔
- win7下安装vs2008失败——解决方法
- properties文件中文乱码解决
- HibernateTemplate 详解
- Google Chrome Error code:ERR_UNSAFE_PORT