Данные о намерениях AlarmManager не существуют в BroadcastReceiver - PullRequest
0 голосов
/ 29 октября 2019

Я разрабатываю сигнал тревоги.

У меня есть класс данных (Parcelable).

Поэтому, когда я создаю сигнал тревоги, я передаю объект в намерение.

Но когда я получил сигнал тревоги в BroadcastReceiver, данных нет.

Итак, я что-то протестировал.

Когда я ставлю "String" вместо класса "Parcelable", он работает нормально !! !

Только когда я добавляю данные Parcleable, они не работают !!!

О! Я тестировал с Serializable, но он тоже не работает.

Мой класс Parcelable определяется с помощью "Kotlin - @Parcelize". Поэтому я удалил аннотацию и реализовал Parcelable самостоятельно. Но результат тот же. (Не работает)

А класс Parcelable - это "класс данных". Поэтому я попытался изменить его на «класс», но результат тот же ...

А AlarmManager поддерживает только примитивный тип со строкой?

Или ... это ошибка Android?

Ответы [ 2 ]

0 голосов
/ 29 октября 2019

Аннотация @Parcelize автоматически сгенерирует функцию parcelize с вашим parcelable member в вашем классе.

Остальные, которые не являются участниками parcellable, все еще должны обрабатывать сами.

Итак же, как Serialize.

Я уверен, что широковещательная рассылка может передать сериализованный объект (например, ArrayList<String>), поэтому я предполагаю, что есть элемент, который вы еще не обработали.

0 голосов
/ 29 октября 2019

Ух ты ...

Предполагаемое поведение ...

Я нашел ссылку ...

https://issuetracker.google.com/issues/37112802

Я все ещене знаю, почему это предполагаемое поведение ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...