Android Bundle.containsKey выдает исключение - PullRequest
1 голос
/ 19 августа 2011

Я пишу приложение для Android. В этом приложении пользователь должен иметь возможность получать уведомления в будущем. Я использую AlarmManager для отправки широковещательной рассылки на мой приемник с намерением внутри с уведомлением как Parceled Extra. Я не хочу помещать весь Код здесь (его много), поэтому я объясняю только рабочий процесс и помещаю соответствующий код здесь.

Я расширил Уведомление, чтобы позволить себе иметь идентификатор и Объект из моей Модели (Модель является Parcelable). Я забочусь о том, чтобы Уведомление было разослано и разобрано до моей Модели.

Чтобы отправить тревогу, я бы создал новый экземпляр уведомления и позвонил бы setLatestEventInfo с данными из модели. Если я нажимаю это уведомление напрямую, все в порядке.

После этого я создаю новый Pending-Broadcast-Intent. Намерение, которое помещается в трансляцию, получает мое уведомление как ParcelableExtra. Затем я запускаю это PendingIntent через AlarmManager.set (). если время пришло, я получаю Broadcast в моем BroadcastReciever.

Я беру дополнения из своего намерения и хочу посмотреть, есть ли ключ "NotificationExtra", который я использовал для его хранения. в этом вызове я получаю ClassCastException. Если вы заинтересованы в некоторых примерах кода, не стесняйтесь спрашивать. Любая идея, что может пойти не так? я могу хранить нулевые значения как Parcelables? И если я могу хранить нулевые значения, можно ли их правильно прочитать?

...