Java 如何在Android中使用广播接收器每2分钟更新一次活动?
我正在使用broadcastreceiver每分钟更新一次活动,但是,我想将其更改为每2分钟一次。我怎样才能做到这一点 下面是我函数的代码-Java 如何在Android中使用广播接收器每2分钟更新一次活动?,java,android,broadcastreceiver,Java,Android,Broadcastreceiver,我正在使用broadcastreceiver每分钟更新一次活动,但是,我想将其更改为每2分钟一次。我怎样才能做到这一点 下面是我函数的代码- private void startMinuteUpdated() { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(Intent.ACTION_TIME_TICK); minuteUpdateReceiver=
private void startMinuteUpdated() {
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_TIME_TICK);
minuteUpdateReceiver= new BroadcastReceiver() {
@RequiresApi(api = Build.VERSION_CODES.O)
@Override
public void onReceive(Context context, Intent intent) {
lastUpdatedTimeTextDeparture.setText(LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH:mm")));
}
};
registerReceiver(minuteUpdateReceiver, intentFilter);
}
@Override
protected void onResume() {
super.onResume();
startMinuteUpdated();
}
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(minuteUpdateReceiver);
}
您可以将当前实现更改为从当前时间读取分钟数,如果2的余数为0,则执行任务,否则返回。这样做将允许您在分钟数为偶数时进行更新(即每秒钟运行一分钟)
我的代码中没有分钟变量,你能编辑代码吗?我已经更新了代码,所以我不再需要动作时间和广播接收器了?你确实需要它,以便在分钟改变时触发事件。。。只要使用我在onReceive方法中引用的代码,您也可以使用alarm manager,并可以根据您的时间间隔设置重复报警,您可以在此处查看此答案-
if (Calendar.getInstance().get(Calendar.MINUTE) % 2 != 0){
// don't proceed further
return;
}
// update the activity