Android: как получить доступ к ожидающему намерению в другом действии?

Я настраиваю AlarmManager с PendingIntent в деятельности А. Тогда я хотел бы иметь возможность позвонить cancel() на том же PendingIntent от другой деятельности Б.

Документация Android гласит следующее:

"Если создающее приложение позднее повторно извлекает тот же тип PendingIntent (та же операция, то же действие Intent, данные, категории и компоненты и те же флаги), оно получит PendingIntent, представляющий тот же токен, если он все еще действителен, и Таким образом, можно вызвать метод cancel(), чтобы удалить его."

Можно ли хранить PendingIntent в базе данных и получить его из другой деятельности?

1 ответ

Решение

Если вы не создаете свой PendingIntent динамически, то вам просто нужно создать его таким же образом.

Я бы порекомендовал создать синглтон, который создаст и доставит ваш PendingIntent. Таким образом, вы можете вызвать что-то вроде этого из любого места в вашем приложении:

PendingIntent pi = PendingIntentHelper.getInstance().buildPendingIntent();
am.cancel(pi);
Другие вопросы по тегам