如何使用 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