2010-09-07 3 views

Répondre

6

Utilisez un PendingIntent, dont Intent a fourni extras.

C'est modifié de la AlarmController Google APIDemo:

Intent intent = new Intent(AlarmController.this, RepeatingAlarm.class); 
intent.putExtra("some_name", some_value); 
PendingIntent sender = PendingIntent.getBroadcast(AlarmController.this,0, intent, 0); 

// We want the alarm to go off 30 seconds from now. 
long firstTime = SystemClock.elapsedRealtime(); 
firstTime += 15*1000; 

// Schedule the alarm! 
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); 
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,firstTime, 15*1000, sender); 

Prenez ensuite ceux de votre récepteur de onReceive():

intent.getStringExtra("some_name") 
+0

ok je suis l'aide du gestionnaire d'alarme ... il sera prévu ... si la le périphérique a été redémarré ... l'activité d'alarme peut-elle correctement traiter ce planning? – Kandha

+0

Malheureusement pas. Vous devrez définir un écouteur de redémarrage, comme ceci: http://www.tutorialforandroid.com/2009/07/permissions-journey-receivebootcomplete.html –

+0

Puis-je transmettre plus d'une valeur, en fait je dois manipuler un enregistrement dans DB à certaine date, je dois transmettre l'identifiant principal et un autre élément de données afin qu'il soit traité correctement. – Skynet

Questions connexes