Урок 99. Service. Уведомления - notifications

Обсуждение уроков
Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 23 сен 2012, 19:26

Да, буду пробовать, данкс за совет

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 24 сен 2012, 17:52

Не могу понять, почему активити не открывается, после нажатия на уведомление

Код: Выделить всё

	void SendNotif(int id){
		Notification notif=new Notification(R.drawable.ic_launcher,"Zagolovok",System.currentTimeMillis());
		Intent intent=new Intent(this,Activity_For_Open.class);
		PendingIntent pi=PendingIntent.getActivity(this, 0, intent, 0);
		notif.setLatestEventInfo(this, "Title", "Text - "+id, pi);
		notif.flags|=Notification.FLAG_AUTO_CANCEL;
		notif.number=id;
		nm.notify(0,notif);}
Активити такое есть, а не открывается.
Сервис пробовал запускать в том же процессе, что и вызывающее его приложение, и в отдельном - один хрен не открывается...

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 99. Service. Уведомления - notifications

Сообщение damager82 » 25 сен 2012, 10:36

powercat писал(а):Не могу понять, почему активити не открывается, после нажатия на уведомление
Активити такое есть, а не открывается.
Манифест?
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 25 сен 2012, 11:09

мдя...манифест...зараза!

brucemax
Сообщения: 117
Зарегистрирован: 01 апр 2012, 16:09
Откуда: Минск
Контактная информация:

Re: Урок 99. Service. Уведомления - notifications

Сообщение brucemax » 04 ноя 2012, 23:14

Не очень понимаю, в чем разница между ongoing и тем, что уведомление не удалится после нажатия на кнопку очистки всех уведомлений. Но флаги такие есть, и я о них упомянул.
Например мне надо чтобы уведомление (которое пускай просто говорит, что сервис работает) НЕ исчезало при нажатии на нём пользователем, тогда ongoing.

А вообще в доке говориться немного другими словами про FLAG_ONGOING_EVENT
Bit to be bitwise-ored into the flags field that should be set if this notification is in reference to something that is ongoing, like a phone call. It should not be set if this notification is in reference to something that happened at a particular point in time, like a missed phone call.
Должен ставиться когда что-то продолжается некторое время ( (например телефонный звонок) и логично, что при этом не должна быть возможность его убрать), и не должен, если случилось в конкретный момент.

А FLAG_NO_CLEAR, я так понял, не даёт такой возможности, чтобы после нажатия пользователя на уведомление оно оставалось. И ещё не могу понять что означает
"Clear All" button
в описании этого флага.
Как-то коряво получилось мысль описать, но как-то разбираться надо :)

Пока нашёл отличие в том, что уведомление появляется в разных секциях (FLAG_ONGOING_EVENT "текущие", а FLAG_ONGOING_EVENT - "уведомления"). Такие у меня секции на телефоне. =)

djdance
Сообщения: 48
Зарегистрирован: 04 дек 2012, 15:33

Re: Урок 99. Service. Уведомления - notifications

Сообщение djdance » 19 янв 2013, 00:16

Возможно ли контекстное меню на нотификации?
Как его туда зарегать?

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Урок 99. Service. Уведомления - notifications

Сообщение neoksi » 19 янв 2013, 01:34

djdance писал(а):Возможно ли контекстное меню на нотификации?
Как его туда зарегать?
:shock:
Нет, нельзя, учи матчасть.

Ivan Zamurenko
Сообщения: 14
Зарегистрирован: 18 ноя 2012, 23:55

Re: Урок 99. Service. Уведомления - notifications

Сообщение Ivan Zamurenko » 16 апр 2013, 08:35

Доброе утро, уважаемые форумчане. Столкнулся с такой проблемой.

Можно ли отслеживать уведомления(пропущенный звонок или просто звонок, сообщение, сообщение на имейл, будильник и т.д.т.п.), ловить их в моей программе и включать(Экран) либо LCD-светодиоды(но они есть не на всех моделях)?

Может кто пожалуйста, подсказать правильный путь?

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Урок 99. Service. Уведомления - notifications

Сообщение neoksi » 16 апр 2013, 20:55

Наверное возможно. На поверхности я решения не нашел, но думаю стоит поискать генерируемый броадкаст или установку слушателя на Notification.

Ivan Zamurenko
Сообщения: 14
Зарегистрирован: 18 ноя 2012, 23:55

Re: Урок 99. Service. Уведомления - notifications

Сообщение Ivan Zamurenko » 17 апр 2013, 08:52

Я много сайтов облазил. По любому возможно, в приложениях же это используется. А вот как до этого дойти... Буду пытаться!

SPAWN
Сообщения: 20
Зарегистрирован: 11 мар 2013, 21:59

Re: Урок 99. Service. Уведомления - notifications

Сообщение SPAWN » 23 апр 2013, 16:57

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

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 99. Service. Уведомления - notifications

Сообщение KamiSempai » 23 апр 2013, 17:53

Вам стоит использовать RemoteViews для создания своих уведомлений.
http://www.framentos.com/en/android-tut ... n-android/

Самая большая проблема при использовании этого метода, большой геморой при использовании стандартных стилей для уведомлений. У разных версий андроида они свои.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

SPAWN
Сообщения: 20
Зарегистрирован: 11 мар 2013, 21:59

Re: Урок 99. Service. Уведомления - notifications

Сообщение SPAWN » 24 апр 2013, 12:32

KamiSempai писал(а):Вам стоит использовать RemoteViews для создания своих уведомлений.
http://www.framentos.com/en/android-tut ... n-android/

Самая большая проблема при использовании этого метода, большой геморой при использовании стандартных стилей для уведомлений. У разных версий андроида они свои.

Спасибо большое, сейчас попробую.

ru.alxr
Сообщения: 1
Зарегистрирован: 10 июн 2013, 14:03

Re: Урок 99. Service. Уведомления - notifications

Сообщение ru.alxr » 10 июн 2013, 16:38

Подскажите, если знаете, как создать контрол в notification area, подобный плееру на иллюстрации. Две-три кнопки, подпись. И что важно api level 9, максимум 10.
Изображение

Rix
Сообщения: 10
Зарегистрирован: 12 авг 2013, 09:06

Re: Урок 99. Service. Уведомления - notifications

Сообщение Rix » 26 авг 2013, 09:51

Привет всем, у меня вопрос и убедительная просьба очень умным ребятам, который считают себя богами разработок андроида давайте без глупых ответов? Этот форум посвящен ведь изучению, а не издевательство над теми кто пытается научится!
И так мой вопрос, я сделал все как в уроке, все получилось, но появилась проблема, если у меня в приложении несколько активити, и я сейчас например на 2й и жму на уведомление меня перекидывает на первое, как сделать так чтобы меня кидало на текущий активити приложения?

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 99. Service. Уведомления - notifications

Сообщение klblk » 26 авг 2013, 11:24

Rix писал(а):Привет всем, у меня вопрос и убедительная просьба очень умным ребятам, который считают себя богами разработок андроида давайте без глупых ответов? Этот форум посвящен ведь изучению, а не издевательство над теми кто пытается научится!
Пока боги разработок на андроиде спят, замечу что подобные высказывания только подталкивают на то, чтобы поиздеваться...=)

Из урока:
Третья часть – создаем Intent, который мы бы использовали для вызова нашего Activity. Туда помещаем имя загруженного файла. Activity его достанет и поместит в TextView. Далее мы оборачиваем этот Intent в PendingIntent, с помощью метода getActivity. На вход ему передаем контекст и Intent. Второй параметр не используется (так написано в хелпе). А четвертый – это флаги, влияющие на поведение PendingIntent. Они не относятся к теме урока, мы их не используем.

Теперь этот созданный PendingIntent содержит информацию о том, что надо вызывать Activity, а также объект Intent, который для этой цели надо использовать. Это будет использовано при нажатии на уведомлении.
Т.е. нужно в intent запихнуть текущую Activity, а для того чтобы ее туда запихнуть ее нужно где-то (в сервисе?) как-то (её порядковый номер?) запомнить.

Rix
Сообщения: 10
Зарегистрирован: 12 авг 2013, 09:06

Re: Урок 99. Service. Уведомления - notifications

Сообщение Rix » 26 авг 2013, 15:53

klblk писал(а): Т.е. нужно в intent запихнуть текущую Activity, а для того чтобы ее туда запихнуть ее нужно где-то (в сервисе?) как-то (её порядковый номер?) запомнить.
Теоретический я понял как сделать, но вот не понял как мне в сервис передать текущий активити? ели можно кусочек кода в качестве образца :? .

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 99. Service. Уведомления - notifications

Сообщение klblk » 26 авг 2013, 16:37

Ну тогда и вопрос нужно было по-другому ставить.
Всё активити передавать не стоит (и можно ли в другой процесс?), а лишь константу которая будет её определять, а потом через условие создавать нужный интент.
Тут фишка в том что сервис в другом процессе и это немного-много усложняет передачу данных. Если задача не сильно принципиальная, а лишь учебная то это можно отложить.

можно для этих целей использовать например broadcastreceiver:
http://startandroid.ru/ru/uroki/vse-uro ... eiver.html
ну а если охота совсем поизвращаться, то можно и так:
http://habrahabr.ru/post/157063/

tytryn
Сообщения: 7
Зарегистрирован: 23 мар 2013, 15:01

Re: Урок 99. Service. Уведомления - notifications

Сообщение tytryn » 30 авг 2013, 14:56

Блин не знаю как описать ситуацию....
Вообщем мне нужно чтоб сервис постоянно проверял соединение с интернетом. Сам код есть. Я не знаю как правильно зациклить... допустим чтоб каждые 30 сек проверялось.
Помогите кодом, кому не жалко.

Rix
Сообщения: 10
Зарегистрирован: 12 авг 2013, 09:06

Re: Урок 99. Service. Уведомления - notifications

Сообщение Rix » 30 авг 2013, 18:07

tytryn писал(а):Блин не знаю как описать ситуацию....
Вообщем мне нужно чтоб сервис постоянно проверял соединение с интернетом. Сам код есть. Я не знаю как правильно зациклить... допустим чтоб каждые 30 сек проверялось.
Помогите кодом, кому не жалко.
Не знаю на сколько валидно так делать, но я подобную фишку делал так

[syntax=java]
public void AsynchronousPing() {
final Handler handler = new Handler();
Timer timer = new Timer();
TimerTask doAsynchronousPing = new TimerTask() {
@Override
public void run() {

handler.post(new Runnable() {
@Override
public void run() {
try {
//Тут пишешь код который нужно, у меня тут запускается поток AsyncTask
} catch (Exception e) {
e.printStackTrace();
Log.w(LogTag, "AsynchronousPing: " + e.getMessage());
}
}
});
}
};
timer.schedule(doAsynchronousPing, 0, 120000); //интервал 2 минуты
}
[/syntax]

Ответить