高通QCT需要实现关机闹钟功能
1: 首先需要硬件支持,支持alarm中断触发开机,目前高通平台几乎都支持;
2:关机前需要在rtc-xxx.c中做到enable_irq_wake,和不disable alarm功能(默认开机后alarm功能就会打开,通常关机时qct会关闭该功能避免alarm触发乱开机);
3: 在AlarmManagerService.java当set请求来自闹钟时改变type类型,alarm_dev.c接收到后记下timespec(注意:闹钟app只会将距离当前时间最近的闹钟set下来),重新还原type类型,当闹钟app全部关闭时需要设0下来;
4:在rtc-xxx.c中shutdowm接口,写入3中time到alarm寄存器(所设的时间必须大于当前时间才可以写入,小于时需要disable alarm功能避免alarm导致莫名其妙的开机);