Alarm Manger не запускает широковещательный приемник точно в указанное время
Требование: Я хочу, чтобы сигнал тревоги срабатывал и запускал приемник вещания точно каждые 3 минуты, но сигнал тревоги не срабатывает ровно каждые 3 минуты, вот мой код, Любая помощь?
Диспетчер аварий
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent in = new Intent(this,GPSReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(this,234324243, in, 0);
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
am.setRepeating(AlarmManager.RTC, cal.getTimeInMillis(), 3*60*1000, pi);
Log.i("hei",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").format(cal.getTimeInMillis()));
BroadCast Receiver
public class GPSReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("hei","GPSReceiver Called");
Calendar cal = Calendar.getInstance();
}
}
В соответствии с приведенным выше кодом, тревога срабатывает в следующем порядке (но не всегда в том же порядке, как я упоминал ниже)
07-19 14: 11: 53.194: I / hei (30310): 2014-07-19 14: 11: 53.202
07-19 14: 11: 53.194: I / hei (30310): вызван GPS-приемник
07-19 14: 12: 03.061: I / hei (30310): 2014-07-19 14: 12: 03.68
07-19 14: 12: 03.061: I / hei (30310): вызван GPS-приемник
07-19 14: 14: 53.186: I / hei (30310): 2014-07-19 14: 14: 53.194
07-19 14: 14: 53.186: I / hei (30310): вызван GPS-приемник
07-19 14: 15: 03.030: I / hei (30310): 2014-07-19 14: 15: 03.36
07-19 14: 15: 03.030: I / hei (30310): вызван GPS-приемник
07-19 14: 17: 53.186: I / hei (30310): 2014-07-19 14: 17: 53.193
07-19 14: 17: 53.186: I / hei (30310): вызван GPS-приемник
07-19 14: 18: 03.030: I / hei (30310): 2014-07-19 14: 18: 03.38
07-19 14: 18: 03.030: I / hei (30310): вызван GPS-приемник