如何设置在Android中每15分钟重复一次警报的时间?

时间:2014-03-05 05:24:59

标签: android alarmmanager repeatingalarm

我在我的应用程序中创建了两个后台服务。我必须在一定的时间间隔内开始我的背景服务。所以我正在使用警报。一项服务必须每15分钟启动一次,另一项服务每天启动一次。我的代码在这里。

        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.MINUTE, 15);
        Intent intent = new Intent(this, TestService.class);

        pintent = PendingIntent.getService(this, 0, intent, 0);
        alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);;

        i=15;                                 
        alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), i*1000, pintent);

         if (networkInfo != null && networkInfo.isConnected()) 
         {

                startService(new Intent(getBaseContext(), TestService.class));

         }
        else
        {


        }
我是这样用过的。它在第一次很好地工作。这意味着我的警报在第一次15分钟后再次启动。然后它每15秒重复一次。我不知道如何正确设置时间。任何人都可以告诉我实现这个目标吗?提前谢谢。

1 个答案:

答案 0 :(得分:3)

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, hr);
cal.set(Calendar.MINUTE, minutes+15);//
cal.set(Calendar.SECOND, 0);
  

改变这一行......

alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), i*1000, pintent);

  

long repeatingTime = 15 * 60 * 1000;

alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),repeatingTime, pintent);