private void setFPAlarm()
{
Intent intent = new Intent(this, FPService.class);
PendingIntent pi = PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
long nextSearchTimeMillis = DateUtils.MINUTE_IN_MILLIS/2;
Time nextSearchTime = new Time();
nextSearchTime.set(nextSearchTimeMillis);
AlarmManager FPAlarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
FPAlarm.setRepeating(AlarmManager.RTC, System.currentTimeMillis(), nextSearchTimeMillis, pi);
}
我使用上面的代码每 30 秒运行一次我的 IntentService。有时,一个服务进程需要超过 30 秒的时间,因此必须在前一个进程完成之前启动另一个进程。我想知道在这种情况下前一个会发生什么。它被搁置了吗?第二个要等前一个完成吗?
我的第二个问题是:我不希望他们互相等待。我希望两个服务同时运行。因此,无论前一个服务在做什么,下一个服务都应该启动。上面的代码是实现这一目标的正确方法吗?