android.intent.action.DATE_CHANGED有时不广播的原因是,已经广播过的日期改变,就不会再广播了,比如模拟器上设置了2012-04-20 23:59, 到了2012-04-21 00:00的时候广播了一次,再把时间调回到2012-04-20 23:59甚至是更久以前,那么就不会再广播了,除非把时间调到未来,也就是还没有广播的时间,如2012-04-21 23:59,才会继续广播。 除非把模拟器关了,再启动一个,那么还有可能广播2012-04-20
23:59到2012-04-21 00:00,前提是模拟器的时间还没有到2012-04-21。真机重启行不行,不知道,还没试。
总之就是已经广播过的日期改变,在这之前的日期改变就不会再广播了,只会广播以后的。
时间更新:
if (Intent.ACTION_TIME_TICK.equals(action) || Intent.ACTION_TIME_CHANGED.equals(action) || Intent.ACTION_TIMEZONE_CHANGED.equals(action)) { mHandler.sendMessage(mHandler.obtainMessage(MSG_TIME_UPDATE)); }
时间: 2025-01-19 04:37:48