如何在特定持续时间后触发alarmManager的初始运行?

时间:2015-04-08 10:40:26

标签: android

我需要在下一分钟开始时触发alarmManager的第一次运行。例如,如果当前时间是6:47:40秒,那么alarmManager的第一次运行将在6:48:00(即20秒后)触发

为了达到这个目的,我需要弄清楚当前一分钟剩余的剩余时间。这可以用这个来完成:

Calendar c = Calendar.getInstance(); 
int secondsTillNextMinute = 60 - c.get(Calendar.SECOND);

现在如何在alarmmanager.SetRepeating中使用此值?我的alarmManager看起来像这样。

AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC, System.currentTimeMillis(), 60000, createClockTickIntent(context));

private PendingIntent createClockTickIntent(Context context) {
Intent intent = new Intent(CLOCK_WIDGET_UPDATE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0,
        intent, PendingIntent.FLAG_UPDATE_CURRENT);
return pendingIntent;
}

我想在我的SetRepeating代码中使用secondsTillNextMinute而不是System.currentTimeMillis()。我怎么做?第二个参数只接受毫秒值?

0 个答案:

没有答案