Ich versuche, ein Bündel durch eine ausstehende Alarmabsicht zu senden, aber die parzellierbaren Daten scheinen immer Null zu sein. Der varicable hsr ist ein Parcelable-Objekt. Hier ist mein Code:Absicht gesendet durch Alarm PendingIntent hat ein Null Parcelable im Bundle
for (final HolderSubjectReminder hsr : alHolderSubjectReminders) {
int hours = 23;
int minutes = 0;
DateTime alarmDate = new DateTime().dayOfMonth().roundFloorCopy().plusHours(hours).plusMinutes(minutes);
Intent intent = new Intent("com.mycompany.ediary");
Bundle bundle = new Bundle();
bundle.putParcelable("Reminder", hsr);
intent.putExtras(bundle);
pendingIntent = PendingIntent.getBroadcast(con, count, intent, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmDate.getMillis(), pendingIntent);
}
in meinem BroadcastReceiver (die die Sendung zur richtigen Zeit erhält):
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras(); //not null
if (bundle != null) {
HolderSubjectReminder hsr = bundle.getParcelable("Reminder"); //null
if (hsr != null) {
subjectReminders.shouldWeShowAlert(hsr);
}
}
}
Die Variable HSR ist immer null, wenn es in dem Rundfunkempfänger abgerufen. Was mache ich falsch? Das Bündel ist übrigens auch nicht null.
Was ist HSR? Ist es zu etwas initialisiert? – Francesc
@Francesc aktualisierte Antwort –