Урок 184. Android Notifications. Уведомления. Основы

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

Урок 184. Android Notifications. Уведомления. Основы

Сообщение damager82 » 14 ноя 2017, 10:10

Notifications - это уведомления, которые пользователь видит в верхней части экрана, когда ему приходит новое письмо, сообщение, обновление и т.п. В ближайшие несколько уроков мы подробно разберем, какие возможности предоставлены разработчикам для показа уведомлений.
В этом уроке рассмотрим основы - отображение/обновление/удаление уведомления и обработка нажатия на него.


Click here to read this article!
Последний раз редактировалось damager82 25 ноя 2017, 22:29, всего редактировалось 17 раз.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

xfn
Сообщения: 10
Зарегистрирован: 23 июл 2015, 14:54

Re: Урок 184. Android Notifications. Основы

Сообщение xfn » 15 ноя 2017, 17:59

Как раз в тему, раз она новая.
Долго мучаюсь с одной задачей. Она , в общем, тривиальная.
Пусть по кнопке "Старт" запускается отсчет времени и одновременно запускается уведомление, отображающее это самое время. При этом при нажатии на уведомление нужно вернутся в приложение, если оно свернуто. И, конечно, чтобы запущенный отсчет(задача) не убивалась системой.
Как лучше это организовать?

Пробовал три варианта, все три хороши, когда приложение в фокусе (или как правильно назвать), т.е и в уведом. и в задаче отсчет времени идет. Но как только сворачиваю задачу, начинаются дикие тормоза интерфейса, отсчет при этом продолжает работать.

Реализации:
1) Handler и runnable;
2) Thread, handler и runnable;
3) через сервис и handler и runnable.

Наверное, тут нужно привести код, но сначала хотел бы услышать мнение относительно реализации. Код опубликую позже.

Помогите, пожалуйста, разобраться.

alexgubarev21
Сообщения: 1
Зарегистрирован: 21 ноя 2017, 09:06

Re: Урок 184. Android Notifications. Уведомления. Основы

Сообщение alexgubarev21 » 21 ноя 2017, 09:09

Ошибка в последнем примере: Cannot resolve symbol 'max'. В чем может быть проблема?

foxfail
Сообщения: 2
Зарегистрирован: 19 май 2018, 20:56

Re: Урок 184. Android Notifications. Основы

Сообщение foxfail » 19 май 2018, 21:01

xfn писал(а):Как раз в тему, раз она новая.
Долго мучаюсь с одной задачей. Она , в общем, тривиальная.
Пусть по кнопке "Старт" запускается отсчет времени и одновременно запускается уведомление, отображающее это самое время. При этом при нажатии на уведомление нужно вернутся в приложение, если оно свернуто. И, конечно, чтобы запущенный отсчет(задача) не убивалась системой.
Как лучше это организовать?

Пробовал три варианта, все три хороши, когда приложение в фокусе (или как правильно назвать), т.е и в уведом. и в задаче отсчет времени идет. Но как только сворачиваю задачу, начинаются дикие тормоза интерфейса, отсчет при этом продолжает работать.

Реализации:
1) Handler и runnable;
2) Thread, handler и runnable;
3) через сервис и handler и runnable.

Наверное, тут нужно привести код, но сначала хотел бы услышать мнение относительно реализации. Код опубликую позже.

Помогите, пожалуйста, разобраться.
Возможно кому-то поможет. В сервисе в методе onStartCommand после того как создали уведомление выполните startForeground(notificationID, notification);
Примеры кода тут

Mefistofele22
Сообщения: 1
Зарегистрирован: 16 апр 2021, 10:38

Re: Урок 184. Android Notifications. Уведомления. Основы

Сообщение Mefistofele22 » 16 апр 2021, 10:40

Буду рад помощи
У меня проблемы с вызовом уведомлений
Вот код:

Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.button);
}
public void onClick(View view){
switch (view.getId()){
case R.id.button:
notif("Test", "Testing message");
break;
}
}
public void notif(String title, String text){
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(title)
.setContentText(text);

Notification notification = builder.build();

NotificationManager notificationManager =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(1, notification);
}

По нажатию на кнопку ничего не происходит
Что может быть не так?
Заранее спасибо

Ответить