Java 如何在Android中使用广播接收器每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=

我正在使用broadcastreceiver每分钟更新一次活动,但是,我想将其更改为每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,则执行任务,否则返回。这样做将允许您在分钟数为偶数时进行更新(即每秒钟运行一分钟)


我的代码中没有分钟变量,你能编辑代码吗?我已经更新了代码,所以我不再需要动作时间和广播接收器了?你确实需要它,以便在分钟改变时触发事件。。。只要使用我在onReceive方法中引用的代码,您也可以使用alarm manager,并可以根据您的时间间隔设置重复报警,您可以在此处查看此答案-
if (Calendar.getInstance().get(Calendar.MINUTE) % 2 != 0){
   // don't proceed further
   return;
}

// update the activity