说起实时刷新系统时间大家都会想到开启一个线程,每秒钟发送一个message然后Handler刷新UI,不过在使用的时候会发现这种方式很不稳定,所有想到了一种相对来说比较准确的方式
通过系统广播来实现
我们知道系统每分钟都会发送广播
Intent.ACTION_TIME_TICK
动态注册广播
IntentFilter filter=new IntentFilter();
filter.addAction(Intent.ACTION_TIME_TICK);
registerReceiver(receiver,filter);
接收广播
private final BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_TIME_TICK)) {
TODO//刷新UI
}
}
};