Android: как получить доступ к ожидающему намерению в другом действии?
Я настраиваю AlarmManager
с PendingIntent
в деятельности А. Тогда я хотел бы иметь возможность позвонить cancel()
на том же PendingIntent
от другой деятельности Б.
Документация Android гласит следующее:
"Если создающее приложение позднее повторно извлекает тот же тип PendingIntent (та же операция, то же действие Intent, данные, категории и компоненты и те же флаги), оно получит PendingIntent, представляющий тот же токен, если он все еще действителен, и Таким образом, можно вызвать метод cancel(), чтобы удалить его."
Можно ли хранить PendingIntent
в базе данных и получить его из другой деятельности?
1 ответ
Если вы не создаете свой PendingIntent динамически, то вам просто нужно создать его таким же образом.
Я бы порекомендовал создать синглтон, который создаст и доставит ваш PendingIntent. Таким образом, вы можете вызвать что-то вроде этого из любого места в вашем приложении:
PendingIntent pi = PendingIntentHelper.getInstance().buildPendingIntent();
am.cancel(pi);