关键点:
根据android官方文档显示:ACTION_TIME_TICK(android.intent.action.TIME_TICK)可以使用,其作用是时间以分钟为单位发送,也就是每隔一分钟系统会向外发送一次该广播。
解决思路:
在程序里注册一个广播接收器来处理ACTION_TIME_TICK广播,当接受到该广播时调用更新时间方法更新时间即可。
核心代码:
//广播接收器
private TimeReceiver mTimeReceiver = null;
private IntentFilter mTimeFilter = null;
mTimeReceiver = new TimeReceiver();
mTimeFilter = new IntentFilter();
mTimeFilter.addAction(Intent.ACTION_TIME_TICK);
registerReceiver(mTimeReceiver, mTimeFilter);
class TimeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_TIME_TICK)) {
mClockWidget.refresh(); //更新时间的方法
}
}
}
这样一个关于时间刷新的应用就实现了。