2010-09-07 5 views

Antwort

6

Verwenden Sie ein PendingIntent, dessen Intent hat Extras gebündelt.

Dies wird von der AlarmController Google APIDemo geändert:

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); 

Dann diejenigen abrufen in onReceive() des Empfängers:

intent.getStringExtra("some_name") 
+0

ok i Alarmmanager bin mit ... es wird geplant werden ... wenn die Gerät wurde neu gestartet ... Kann die Alarmaktivität diesen Zeitplan korrekt verarbeiten? – Kandha

+0

Leider nicht. Sie müssen einen Neustart-Listener wie folgt festlegen: http://www.tutorialforandroid.com/2009/07/permissions-journey-receivebootcomplete.html –

+0

Kann ich mehr als einen Wert übergeben, muss ich tatsächlich einen Datensatz manipulieren DB an einem bestimmten Datum, muss ich die primäre ID und ein weiteres Datenelement übergeben, damit es ordnungsgemäß verarbeitet wird. – Skynet