我在我的应用程序中创建了两个后台服务。我必须在一定的时间间隔内开始我的背景服务。所以我正在使用警报。一项服务必须每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秒重复一次。我不知道如何正确设置时间。任何人都可以告诉我实现这个目标吗?提前谢谢。
答案 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);