@WaterSmith
Android-разработчик. Java, Kotlin

Как разбудить Activity?

Ситуация такая: Активити (MainActivity) запускает сервис, после чего я нажимаю кнопку HOME. Активити находится в состоянии onStop, сервис работает. Когда сервис завершает работу, он создаёт уведомление, стандартное NewMessageNotification созданное из шаблона AndroidStudio. К этому уведомлению прикреплен интент:
notificationCompatBuilder.setContentIntent( 
PendingIntent.getActivity(context, 0, 
new Intent(context, MainActivity.class), 
PendingIntent.FLAG_UPDATE_CURRENT))


При нажатии на уведомление, открывается новое Активити (срабатывает событие onCreate), естественно пустое, без результатов работы сервиса. Затем жму кнопку Back, Активити закрывается, а под ним, сюрприз! Старая активити, отработала onPostResume и загрузила данные с результатами работы сервиса.

Вопрос: Как мне прописать интент таким образом, чтобы новая Активити не создавалась, а просыпалась старая?
  • Вопрос задан
  • 371 просмотр
Решения вопроса 1
@onepavel
Консультация и разработка мобильных приложений
<activity 
   android:name=".YourActivity"
   android:launchMode="singleTask"/>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
evgstrannik
@evgstrannik
Java, Android, UI/UX
Довольно странное поведение... Если не путаю, клик по уведомлению как раз таки должен "пробудить" старое активити. Вы проверяли это на одном устройстве/версии sdk?
Как совет - попробуйте поиграться с флагами активити в манифесте. Но повторюсь, странное поведение...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы