Страница 1 из 1

Урок 185. Notifications. Режимы открытия Activity

Добавлено: 16 ноя 2017, 01:03
damager82
В прошлом уроке мы уже рассмотрели, как отобразить Activity по нажатию на уведомление. Но там был простой случай. В этом уроке рассмотрим более интересные случаи.


Click here to read this article!

Re: Урок 185. Notifications. Режимы открытия Activity

Добавлено: 20 ноя 2017, 17:19
Spider
Приветствую.
А что такое "EXTRA_ITEM_ID", itemId в скобках? А то у меня он красным горит и лапочка говорит, что с ним надо что-то сделать, создать class или constant field... ну и т.д.

Re: Урок 185. Notifications. Режимы открытия Activity

Добавлено: 05 апр 2018, 13:17
danek130995
Я так понимаю, в примере для WhatsNewActivity не обязательно указывать в манифесте android:launchMode="singleTask", так как мы все равно его укажем через флаг FLAG_ACTIVITY_NEW_TASK. Кстати говоря, убрал даже в манифесте singleTask, и убрал вообще все флаги. Поведение не изменилось. Получается, основное влияние здесь оказывает affinity
Еще, насколько мне известно, можно использовать атрибут в манифесте android:documentLaunchMode="always" чтобы активити запускалось в новом окне

Re: Урок 185. Notifications. Режимы открытия Activity

Добавлено: 20 май 2018, 01:06
foxfail
Есть список List, отображаемый в ListActivity, если нажать на Item из списка открываются детали в отдельной активности (DetailsActivity) подтягивается из sql, потом из DetailsActivity вызывается TimerActivity в которой есть таймер и связан/запускает службу, которая ответственна за уведомление. Уведомление отображает название предмета из списка (точнее из БД) и время.
То есть схематично путь пользователя (и ключа БД) выглядит так: ListActivity -> DetailsActivity -> TimerActivity -> NotificationService
Вопрос: если пользователь закрыл приложение, но NotificationService запущен и по нажатию на уведомление открывается TimerActivity, как мне указать программе что надо вернутся к DetailsActivity и подгрузить детали конкретного предмета из бд? В манифесте указал родителя активности и при нажатии кнопки назад возвращается к DetailsActivity, но из БД детали не подгружаются т.к. активность естественно не знает что подгрузить.
Пока что реализовал через установку android:launchMode="singleTask", обработку onBackPressed и onOptionsItemSelected (для кнопки назад в ActionBar), с вызовом нужной активности и передачей туда в Extras ключа БД по которому надо подгрузить объект. То есть если закрыть приложение и оставить только уведомление путь ключа БД будет Notification -> TimerActivity -> DetailsActivity. Мне кажется что при формировании стека вызовов Activity можно как то реализовать Extras для родительских активностей, нет?