J'ai une activité qui utilise un AlarmManager pour appeler un BroadcastReceiver à un moment donné dans le temps. Cela fonctionne très bien, sauf lorsque j'essaie d'ajouter des chaînes supplémentaires à l'intention lors de l'appel du BroadcastReceiver, elles apparaissent toujours comme nulles à l'autre extrémité.données de passage Android de l'activité à BroadcastReceiver montre null
Code d'activité:
Intent intent = new Intent(this, ScheduleReceiver.class);
intent.putExtra("testString", "I'm a string");
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 999, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC, System.currentTimeMillis(), pendingIntent);
Code BroadcastReceiver
public void onReceive(Context context, Intent intent) {
Log.v(TAG, "TestString: " + intent.getStringExtra("testString"));
}
Le contenu de 'TestString' est toujours null
dans le BroadcastReceiver, qu'est-ce que je fais mal?
Je pense qu'il était une combinaison de cela et le fait que j'ajouté le drapeau 'PendingIntent.FLAG_CANCEL_CURRENT' au PendingItent. – jackbot