闹钟使用服务(Service)来实现的吗? AlarmReceiver extends BroadcastReceiver 没具体研究过,可以下载alarmclock源码看看。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这东西还是得看alarmclock源码!要不然你对系统得非常得解! 系统的闹钟程序准确的说应该是一个系统服务进程了。LZ可以看看Framework里面的AlarmManagerService.java的源码 ,它注册了一个ClockReceiver, @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_TIME_TICK)) { scheduleTimeTickEvent(); } else if (intent.getAction().equals(Intent.ACTION_DATE_CHANGED)) { TimeZone zone = TimeZone.getTimeZone(SystemProperties.get(TIMEZONE_PROPERTY)); int gmtOffset = (zone.getRawOffset() + zone.getDSTSavings()) / 60000; setKernelTimezone(mDescriptor, -(gmtOffset)); scheduleDateChangedEvent(); } }最终提供给应用层是AlarmManager 多谢各位传道授业解惑!正在学习android呢,一直对service的实际应用比较迷糊~~,现在有个实际应用方面的认识了。 闹钟的确是通过服务实现的, 这个服务的名字叫 AlarmManagerService.AlarmManagerService 又是通过硬件RTC实现的. 简单地说就是, RTC 硬件对应着 /dev 目录下的一个设备名(比如 alarm), AlarmManagerService 会用 ioctl 函数读 /dev/alarm, 然后就阻塞了, 一旦某个定时器到时了, ioctl 就会从 /dev/alarm 读出一个值并从刚才阻塞的地方继续运行: 找到是谁注册了这个定时器并发出Intent. android英汉词典 一个关于listView的布局截图问题,急。。。。 android 获取外部activity返回值 怎么给TextView 加上双击事件? 怎样改变listView的选中的item的背景 新人求助/如何进行通知栏消息提醒 一行gridview实现无限循环,四个数据,头尾相连 同一个应用如何做到进程间通信? fragment 如何向 activity 传递数据 android应用安装不上 JNI参数中文字符如何处理? android有没有开源的ui库?
LZ可以看看Framework里面的AlarmManagerService.java的源码 ,它注册了一个ClockReceiver,
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_TIME_TICK)) {
scheduleTimeTickEvent();
} else if (intent.getAction().equals(Intent.ACTION_DATE_CHANGED)) {
TimeZone zone = TimeZone.getTimeZone(SystemProperties.get(TIMEZONE_PROPERTY));
int gmtOffset = (zone.getRawOffset() + zone.getDSTSavings()) / 60000; setKernelTimezone(mDescriptor, -(gmtOffset));
scheduleDateChangedEvent();
}
}
最终提供给应用层是AlarmManager
正在学习android呢,一直对service的实际应用比较迷糊~~,现在有个实际应用方面的认识了。