4

这应该在 5 分钟后启动服务,但在 1 分钟后启动

Intent myIntent = new Intent(getApplicationContext(), BackgroundDataSender.class);  
            PendingIntent piHeartBeatService = PendingIntent.getService(this, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
            AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
            alarmManager.cancel(piHeartBeatService);
            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), (5*60*1000) , piHeartBeatService);
4

2 回答 2

0

你应该写:

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
    System.currentTimeMillis() + (5*60*1000),
    (5*60*1000) ,
    piHeartBeatService);

如果您希望闹钟在 5 分钟后启动(并在之后每 5 分钟重复一次)...

于 2012-09-17T10:25:25.697 回答
0

尝试这个

private static final long UPDATE_INTERVAL=300000;


Calendar cal=Calendar.getInstance();
            cal.add(Calendar.MINUTE,0);
            alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),UPDATE_INTERVAL,pendingIntent);
于 2012-09-17T10:27:28.800 回答