2010-09-07 10 views

Respuesta

6

Utilice un PendingIntent, cuya Intent ha liado extras.

Esta es una modificación 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); 

a continuación, recuperar aquellos en su Receptor de onReceive():

intent.getStringExtra("some_name") 
+0

bien estoy usando gestor de alarma ... que se programará ... si el se reinició el dispositivo ... ¿puede la actividad de alarma procesar correctamente ese horario? – Kandha

+0

Desafortunadamente no. Tendrá que configurar un oyente de reinicio, como este: http://www.tutorialforandroid.com/2009/07/permissions-journey-receivebootcomplete.html –

+0

¿Puedo pasar más de un valor, en realidad tengo que manipular un registro en DB en cierta fecha, necesito pasar la identificación principal y un elemento de datos más para que se procese correctamente. – Skynet

Cuestiones relacionadas