У меня есть активность, которая использует AlarmManager для вызова BroadcastReceiver в определенный момент времени. Все это прекрасно работает, за исключением случаев, когда я пытаюсь добавить дополнительные строки к намерению при вызове BroadcastReceiver, они всегда появляются как нулевые на другом конце.Android, передающий данные из Activity to BroadcastReceiver, показывает null
код активность:
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);
BroadcastReceiver код
public void onReceive(Context context, Intent intent) {
Log.v(TAG, "TestString: " + intent.getStringExtra("testString"));
}
Содержание 'TestString' всегда в BroadcastReceiver null
, что я делаю неправильно?
Я думаю, что это было сочетание этого и тот факт, что я добавил 'PendingIntent.FLAG_CANCEL_CURRENT' флаг в PendingItent. – jackbot