AlarmManager déclenche des alarmes au mauvais moment

J'ai réussi à tout droit de créer un service de notification utilisé pour déclencher une notification suite à une alarme. Malheureusement, le réglage de l'alarme à l'aide de AlarmManager ne fonctionne pas bien. Il tire plusieurs minutes plus tard (pas exactement les heures, ce qui pourrait indiquer un problème de fuseau horaire). La période récurrente est de 1 semaine, j'ai donc utilisé la constante INTERVAL_DAY et multiplié par 7. Afin de s'assurer que l'un PendingIntent ne remplace pas l'autre, je passe le dayOfWeek comme second paramètre de PendingIntent.la méthode getService(). J'ai vérifier l'exactitude de l'heure de l'alarme à feu par l'exploitation forestière:

Log.d(TAG, "next alarm " + df.format(cal.getTime()));

Est-il vraiment aucun moyen de la liste de toutes les alarmes - au moins ceux de mon propre application? Je crois que c'est la seule façon de localiser l'erreur.

Mon code:

cal.setTimeInMillis(System.currentTimeMillis());
cal.add(Calendar.DATE, 1);
cal.set(Calendar.HOUR_OF_DAY, hour);
cal.set(Calendar.MINUTE, minute);
Log.d(TAG, "next alarm " + df.format(cal.getTime()));
Intent showNotificationIntent = new Intent(context, NotificationService.class);
dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
alarmIntent = PendingIntent.getService(context, dayOfWeek, showNotificationIntent, 0);
getAlarmManager(context).setInexactRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
    INTERVAL_WEEK, alarmIntent);

Je veux offrir à avoir une alarme tous les jours, mais à des moments divers, qui peut être définie par l'utilisateur. J'ai donc utiliser jusqu'à 7 alarmes, qui doit se déclencher sur une base hebdomadaire.

Même après avoir lu les nombreuses réponses à des questions similaires (je n'ai pas l'intention de créer un double de la question), je n'ai pas réussi à trouver le problème.

source d'informationauteur Holger Jakobs | 2014-01-30