【问题标题】:Scheduling multiple repeating alarms安排多个重复警报
【发布时间】:2020-03-21 10:22:36
【问题描述】:

对不起,我的英语不好。 目前,我正在使用 qr 代码扫描仪在项目中工作。我正面临这个错误。当应用程序扫描二维码时,它应该安排警报的重复。它工作得很好,但如果我给警报管理器例如 3 个警报。例如,现在是 12:00,第一个是 11:00,第二个是 12:30,第三个是 13:00。它们都不会触发。所以这是我的测试代码。 重复和计数器是从 0 开始的全局变量。 也没有错误,我尝试通过打印每个结果来测试它,我真的没有看到逻辑错误。请帮忙,谢谢。 所以如果我不放这部分代码,它就可以工作。

if (System.currentTimeMillis() > cal.getTimeInMillis()){
                        TimeUntilTrigger = cal.getTimeInMillis() + 86400000;

                    }else{
                        TimeUntilTrigger = cal.getTimeInMillis();

                    }

这是我的完整测试代码。

AlarmManager manager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
                Calendar cal = Calendar.getInstance();
                repetition+=3;
                while (counter<repetition){

                    cal.set(Calendar.HOUR_OF_DAY,10);
                    cal.set(Calendar.MINUTE,55+counter*2);
                    timeDatabase.insertData(result.getContents(),String.valueOf(10),String.valueOf(55+counter*2));
                    long TimeUntilTrigger;
                    if (System.currentTimeMillis() > cal.getTimeInMillis()){
                        TimeUntilTrigger = cal.getTimeInMillis() + 86400000;

                    }else{
                        TimeUntilTrigger = cal.getTimeInMillis();

                    }

                    Intent alarmIntent = new Intent(getActivity(), AlarmReceiver.class);
                    pendingIntent = PendingIntent.getBroadcast(getActivity(),counter,alarmIntent,0);


                    manager.setRepeating(AlarmManager.RTC_WAKEUP,TimeUntilTrigger,AlarmManager.INTERVAL_DAY,pendingIntent);

                    counter++;
                }

【问题讨论】:

    标签: java android repeatingalarm


    【解决方案1】:

    我解决了这个问题。 问题是您需要设置 Seconds 和毫秒。

    cal.set(Calendar.HOUR_OF_DAY,13);
    cal.set(Calendar.MINUTE,51+counter*2);
    cal.set(Calendar.SECOND,0);
    cal.set(Calendar.MILLISECOND,0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多