2012-04-24 6 views
0

Je suis en train de gestionnaire d'alarme par cette méthode:Comment régler le gestionnaire d'alarme cohérent dans Android?

public void setAlarmManager(Context context, Intent intent, long repeat) { 

     PendingIntent pendingIntent; 
     pendingIntent = PendingIntent.getService(context, 0, intent, 0); 

     AlarmManager alarmManager = (AlarmManager) context 
       .getSystemService(context.ALARM_SERVICE); 

     Calendar calendar = Calendar.getInstance(); 
     calendar.setTimeInMillis(System.currentTimeMillis()); 
     calendar.add(Calendar.SECOND, 10); 
     alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, 
       calendar.getTimeInMillis(), repeat, pendingIntent); 
    } 

par cette méthode, je suis dans un envoi de SMS numéro spécifique après un montant fixe de time.But cette méthode ne reste pas consistent.Specially lorsque le va à mode de sommeil, il ne fonctionne pas.Comment puis-je faire cela continu qu'il fonctionnera également en mode veille?

Répondre

0

AlarmManager avec une alarme _WAKEUP garantit seulement qu'il gardera l'appareil éveillé si vous utilisez un getBroadcast()PendingIntent. Si votre travail ne prend que quelques millisecondes, passez votre Service à BroadcastReceiver.

Si votre travail dure plus de quelques millisecondes, pensez à using my WakefulIntentService, qui offre un modèle pour permettre aux alarmes _WAKEUP d'effectuer leur travail de façon fiable.

Questions connexes