问题:最近在项目开发中遇到一个很奇怪的问题,Calendar时间刷新一直异常,刚设置进去的时间,读出来却不是自己设置的时间,而且每次设置时间后,重新开关机,时间都不是固定的,很是诡异。
需求:通过手动设置时间后,断电重启需要保存时间。
方案:主板上有RTC芯片,用于断电后仍然可以计时,软件在设置时间时,同步把时间传到RTC中。主板重启后,在获取RTC中的时间,在设置给Calendar同步时间。
代码:这是同步时间的代码:
public void setAndroidSystemTime(int year, int month,
int day, int hour, int minute, int second, int week) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DAY_OF_MONTH, day);
c.set(Calendar.HOUR_OF_DAY, hour);
c.set(Calendar.MINUTE, minute);
c.set(Calendar.SECOND, second);