AlarmManager setExact avec WakefulBroadcastReceiver parfois elle n'est pas exacte

Utilisant Android 19+

setExact en conjonction avec WakefulBroadcastReceiver parfois ne pas tirer sur le temps (peut-être quelques secondes de retard). Je veux dire la plupart du temps qu'il fait. probablement 49 de 50 sa bonne.

Je ne suis pas sûr si c'est juste parce que le système est occupé à l'époque et il ne peut pas gérer la charge de travail ou de ce que

Voici comment j'ai réglé l'alarme:

  AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
  Intent intent = new Intent(AlarmReceiver.INTENT_FILTER);
  PendingIntent alarmIntent = PendingIntent.getBroadcast(context, MyApplication.ALARM_REQUEST_CODE, intent,  PendingIntent.FLAG_UPDATE_CURRENT);
  alarmMgr.setExact(AlarmManager.RTC_WAKEUP, timeToWakeUp, alarmIntent);

Voici mon code récepteur:

public class AlarmReceiver extends WakefulBroadcastReceiver {

public static final String INTENT_FILTER = "myfilter";

@Override
public void onReceive(Context context, Intent intent) {
    Intent service = new Intent(context, MyWakefulService.class);
    startWakefulService(context, service);

}

}

Et dans le WakefulService

public class MyWakefulService extends IntentService {

....

@Override
protected void onHandleIntent(Intent intent) {

....
Lorsque vous êtes en calculant le temps pour timeToWakeUp, êtes-vous réinitialiser les secondes et les millisecondes à 0?
Je réglez les secondes en conséquence, toutefois, je n'ai pas mis les millisecondes. Je vais essayer ça
et bien je crois réglage de l'millisecondes fait la minuterie encore plus précis, donc merci pour ça. Cependant, elle ne résout pas le problème à la main. Je suis assez sûr que c'est juste parce que le système est tellement occupé que l'événement ne pouvait pas le feu à l'heure exacte. Parce que c'est toujours le cas si je le redémarrage de l'appareil et je le calendrier de l'alarme avant le démarrage en cours de finition. Bien sûr, ce n'est pas le seul moment où il y a un retard, mais je pense que je vais la craie jusqu'à système étant occupé, à moins que je l'entends autrement

OriginalL'auteur MobileMon | 2014-07-13