如何使用 Android 中的广播接收器每 2 分钟更新一次 activity?
How to update activity every 2 minutes using broadcast receiver in Android?
我正在使用 broadcastreceiver 每分钟更新一次 Activity,但是,我想将其更改为每 2 分钟一次。我怎样才能做到这一点?
下面是我的函数的代码 -
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,则执行您的操作,否则 return。这样做将允许您在分钟数为偶数时进行更新(即 运行 每隔一分钟)。
if (Calendar.getInstance().get(Calendar.MINUTE) % 2 != 0){
// don't proceed further
return;
}
// update the activity
我正在使用 broadcastreceiver 每分钟更新一次 Activity,但是,我想将其更改为每 2 分钟一次。我怎样才能做到这一点?
下面是我的函数的代码 -
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,则执行您的操作,否则 return。这样做将允许您在分钟数为偶数时进行更新(即 运行 每隔一分钟)。
if (Calendar.getInstance().get(Calendar.MINUTE) % 2 != 0){
// don't proceed further
return;
}
// update the activity