心想着也就是更新精确到分钟,不用精确到秒,定时器就没有必要,系统是有广播Intent.ACTION_TIME_TICK可以直接用
动态注册广播
主方法里面调用一下
//要先设置一下当前时间,不然刷新时间会等到1分钟后再刷新
tv_HM.setText(getHM());
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)) {
tv_HM.setText(getHM());
}
}
};
精确到时:分的方法
public String getHM(){
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
return hour + ":" +minute;
}
文章讲述了如何通过动态注册广播接收器,监听Intent.ACTION_TIME_TICK事件来实现实时更新屏幕上的时间显示,精度到分钟,无需精确到秒。在主方法中设置当前时间,并在接收广播后更新界面的时间显示。
1438

被折叠的 条评论
为什么被折叠?



