android.intent.action.DATE_CHANGED不广播的原因

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));
                }


你可能感兴趣的:(Android开发)