Android: как получить доступ к ожидающему намерению в другом действии? - PullRequest
0 голосов
/ 06 января 2012

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

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

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

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

1 Ответ

1 голос
/ 07 января 2012

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

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

PendingIntent pi = PendingIntentHelper.getInstance().buildPendingIntent();
am.cancel(pi);
...