Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 426
#1

Notifications и открытие Activity по щелчку - Программирование Android

12.12.2014, 11:40. Просмотров 559. Ответов 5
Метки нет (Все метки)

Из сервиса запускается иконка Notifications.
Требуется, чтобы если программа свернута, то при щелчке по значку открывалась текущая на данный момент активити.
Как это реализовать?
Пока что у меня при щелчке по уведомлению оно вообще исчезает.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        Intent notificationIntent = new Intent(MainActivity.context, service.class);
        PendingIntent contentIntent = PendingIntent.getActivity(MainActivity.context,
                0, notificationIntent,
                PendingIntent.FLAG_UPDATE_CURRENT);
 
        builder.setContentIntent(contentIntent)
                .setSmallIcon(icon)
                .setAutoCancel(true)
                .setContentText(sGeoStatus);
 
        Notification n = builder.getNotification();
 
        //с этим флагом иконка не пропадает после выхода из программы
        //n.flags |= Notification.DEFAULT_ALL;
 
        nm.notify(NOTIFY_ID, n);
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2014, 11:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Notifications и открытие Activity по щелчку (Программирование Android):

Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity - Программирование Android
У меня в параллельном потоке происходит куча apply() Решение использовать apply вместо commit было принято из-за скорости. Но...

Изменение layout-элементов одного activity из другого activity - Программирование Android
Здравствуйте! Я хочу изменить размер или цвет текста TextView в одном activity из второго activity, каким образом мне можно это...

Android - Передача данных с одного Activity на другое Activity - Программирование Android
Здравствуйте , возникла необходимость получения числовых (int и float ну или double) данных в одном Activity , а обработка и вывод...

Из одного Activity получить значение другого Activity - Программирование Android
Запускаю активити: public class MainActivity extends Activity { ... ... Intent intent = new Intent(getBaseContext(),...

Из одной Activity запустить функцию другой Activity - Программирование Android
например есть Activity2 которое я показываю в Dialog окошке, там у меня находятся Date and Time Picker ы (Дата - начало, Дата - окончание)...

Вызвать из одной activity функцию другой activity - Программирование Android
вызвать из одного activity функцию другой activity Подскажите, можно ли такое реализовать? Допустим у меня есть основная активити и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
12.12.2014, 11:49 #2
Создаёте интент с нужным действием
Java
1
    Intent nIntent = new Intent(context, YourActivity.class);
и суёте его в конструктор
Java
1
2
3
4
 
        PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
                nIntent, PendingIntent.FLAG_UPDATE_CURRENT
                        | PendingIntent.FLAG_ONE_SHOT);
0
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 426
12.12.2014, 12:04  [ТС] #3
В этом случае если активна MainActivity, то при щелчке значок исчезает.
Если же перед сворачиванием программы была активна другая активити, то при щелчке открывается всё равно MainActivity.
А как добиться того, чтобы открывалась последняя активити в стеке?
0
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
12.12.2014, 12:29 #4
Если в момент клика на уведомление открыта та активити,которую вы хотите показать , у нее вызовется метод onNewIntent(Intent intent);
Если вы хотите, чтоб открывалась последняя активити, можно например при старте каждой активити писать в преференс переменную, означающую текущую активити, а при создании уведомления в зависимости от этой переменной вызывать нужную активити.
1
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 426
12.12.2014, 12:38  [ТС] #5
Спасибо.
Вот только уведомление у меня создается один раз при старте программы.
В таком случае при старте каждой активити придется пересоздавать уведомление с нужным активити.
Хотя, можно открывать MainActivity, а при событии onNewIntent() открывать уже ту, что прописана в переменой?
Но так активити будут перемешаны в стеке.
0
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
12.12.2014, 12:45 #6
Думаю лучший вариант - при старте новой активити слать колбек сервису, чтоб пересоздал уведомление, тут никаких проблем.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2014, 12:45
Привет! Вот еще темы с ответами:

Number of sent notifications and services - Программирование Android
Hi İ have possible very simple question but much better to ask PROFİs. i have appl and all tokens to sent notification to users. There...

Android Push Notifications - Программирование Android
может кто-нибудь объяснить всю процедуру, как это сделать?

Push Notifications Parse - Программирование Android
Здравствуйте. Для чистоты эксперимента создал чистый проект и всё скопировал с гида парсе по созданию уведомлений, скомпилировал,...

Использование AlarmManager+Notifications - Программирование Android
Народ, подскажите, пожалуйста, как правильно выводить уведомления (именно нотификейшены - не тосты) при выключенном приложении в заданное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.12.2014, 12:45
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru