Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Java Мобильная разработка (Android)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 22.01.2019, 19:28   #1
SAMOUCHKA
Участник клуба
 
Регистрация: 07.08.2011
Адрес: Димитровград
Сообщений: 576
Репутация: 161

skype: ilya10009
По умолчанию Показать Activity на переднем плане

Приложение состоит из Activity и Service.
При запуске сервиса, он создает уведомление. При нажатии на него должна показаться MainActivity.
Вот так создаю уведомление
Код:

            Intent notification_intent = new Intent(context, MainActivity.class);
            PendingIntent content_intent = PendingIntent.getActivity(context, 0, notification_intent,
                    PendingIntent.FLAG_CANCEL_CURRENT);

            // Создаем уведомление
            NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
            builder.setContentIntent(content_intent)
                    .setSmallIcon(R.drawable.ic_hourglass_full_black_24dp)
                    .setContentTitle(resources.getString(R.string.app_name))
                    .setShowWhen(true)
                    .setUsesChronometer(false)
                    .setLargeIcon(BitmapFactory.decodeResource(resources, R.mipmap.ic_launcher))
                    .setOngoing(true);

            startForeground(NOTIFICATION_ID, builder.build());
И все вроде бы нормально работает. Но, если у меня уже запущена MainActivity и пользователь нажмет на уведомление, будет создана еще одна MainActivity.
А две MainActivity это не есть хорошо. При нажатии кнопки назад, одна Activity закрывается, но другая еще существует и вылазит на передний план. Пользователю это не нравиться.

Можно ли не создавать новую Actyvity, а показать уже созданную? Или надо по другому решать эту проблему?
__________________
eremeew.ilya@yandex.ru
SAMOUCHKA вне форума   Ответить с цитированием
Старый 18.09.2019, 23:25   #2
Desc
Developer
ФорумчанинФорумчанин
 
Аватар для Desc
 
Регистрация: 21.11.2007
Адрес: Ukraine
Сообщений: 233
Репутация: 105
По умолчанию

Насколько мне позволяют мои скудные знания мобильной разработки: активной может быть только одна активность. Как Вы умудряетесь сделать их две?
Desc вне форума   Ответить с цитированием
Старый 19.09.2019, 00:30   #3
Streletz
Профессионал
 
Регистрация: 03.01.2014
Сообщений: 2,676
Репутация: 1095
По умолчанию

to Desc
Цитата:
Сообщение от Desc Посмотреть сообщение
Как Вы умудряетесь сделать их две?
Элементарно. И это указано в его коде.

При тапе на уведомлении отрабатывает intent, который создаёт второй экземпляр MainActivity, который будет находиться в стеке поверх первого.

to SAMOUCHKA

Попробуйте поиграться с флагами при создании notification_intent. Например, с singleTop. За подробностями можете обратиться к хабростатье.

Последний раз редактировалось Streletz; 19.09.2019 в 00:37.
Streletz на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
По нажатию на кнопку Показать приложение должно открыть новое окно и показать в нем заказанные картинки с короткими подписями Zerroz JavaScript, Ajax 0 27.04.2017 00:56
Activity Drago56 Java Мобильная разработка (Android) 1 17.06.2016 10:20
Как рисовать на переднем плане формы? Karp_13 C++ Builder 7 13.03.2012 15:18
узнать окно на переднем плане или нет fate Win Api 3 21.09.2011 14:26
Всегда на переднем плане Rapala Общие вопросы Delphi 10 28.04.2010 16:54


23:31.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.