Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
74 / 48 / 27
Регистрация: 25.03.2014
Сообщений: 357
Записей в блоге: 1

Всплывающие уведомления

02.03.2019, 12:52. Показов 2704. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. В общем кто то может сталкивался с Notification. Так вот скажите как же сделать эти уведомления хотя бы примеры.
Уведомления мне требуются, чтобы когда пришло смс с контроллера и моя программа его расшифровала выдала как раз это уведомление на экран, а там уже будет зависит от того какое оно и будет либо звуковое сопровождение либо просто уведомление.
Полазил в интернете поискал примеры чтобы сначала на примере разобраться. Но все время выходят ошибки так как он не знает
JavaScript
1
mMessage.setLatestEventInfo(context, contentTitle, contentText, intent2);
такое или NotificationCompat такое
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.03.2019, 12:52
Ответы с готовыми решениями:

Уведомления
Приветствую, форумчане! Возникла такая задача, при написании приложения... Нужно чтобы в определённый период каждого месяца приложение...

Уведомления с кнопками
Здравствуйте! Никак не получается сделать уведомление с кнопками, поэтому прошу Вашей помощи Пробовал делать по этому примеру, но...

Push уведомления
Добрый день, я полный новиЧег в программировании.И мне необходимо сделать так что бы приложение выбирало 1 пуш из нескольких и выводило его...

15
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
02.03.2019, 14:19
Лучший ответ Сообщение было отмечено студент1235 как решение

Решение

студент1235, https://github.com/jamanSmk/An... ns-Example + у Google есть документация: https://developer.android.com/... tification
1
74 / 48 / 27
Регистрация: 25.03.2014
Сообщений: 357
Записей в блоге: 1
03.03.2019, 13:30  [ТС]
У меня есть еще вопрос такой. я решил взять вот такой код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package com.timer.servicenotification;
 
 
import java.util.concurrent.TimeUnit;
 
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
public class NotificationReceiver extends Service{
    NotificationManager nm;
    @Override
    public void onCreate() {
        super.onCreate();
        nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    }
 
    public int onStartCommand(Intent intent, int flags, int startId) {
        try {
            TimeUnit.SECONDS.sleep(5);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        sendNotif();
        return super.onStartCommand(intent, flags, startId);
    }
 
    void sendNotif() {
        // 1-я часть
        Notification notif = new Notification(R.drawable.ic_launcher, "Text in status bar",
                System.currentTimeMillis());
 
        // 3-я часть
        Intent intent = new Intent(this, MainActivity.class);
        intent.putExtra(MainActivity.FILE_NAME, "somefile");
        PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);
 
        // 2-я часть
       new Notification.Builder(this, "Notification's title", "Notification's text", pIntent);
 
        // ставим флаг, чтобы уведомление пропало после нажатия
        notif.flags |= Notification.FLAG_AUTO_CANCEL;
 
        // отправляем
        nm.notify(1, notif);
}
 
    public IBinder onBind(Intent arg0) {
        return null;
    }
}
и
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.timer.servicenotification;
 
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
 
public class MainActivity extends AppCompatActivity {
    public final static String FILE_NAME = "filename";
 
    /** Called when the activity is first created. */
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView tv = (TextView) findViewById(R.id.tv);
 
        Intent intent = getIntent();
 
        String fileName = intent.getStringExtra(FILE_NAME);
        if (!TextUtils.isEmpty(fileName))
            tv.setText(fileName);
    }
 
    public void onClickStart(View v) {
        startService(new Intent(this, NotificationReceiver.class));
    }
 
 
    public void onClickStop(View v) {
        stopService(new Intent(this, NotificationReceiver.class));
    }
 
}
Но я не понимаю чем можно заменить устаревшее слово setLatestEventInfo. Код выше как пример хороший, но мне бы попроще что то вот я и взял что попроще, но застрял(
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
03.03.2019, 14:28
студент1235, вариант решения тут: https://stackoverflow.com/ques... tification

Вкратце:

вместо:

Java
1
2
Notification notification = new Notification(R.drawable.ic_launcher,"CEPF Mobile",0);
notification.setLatestEventInfo(context, "CEPF Mobile", "New post in Special Columnist Blog", contentIntent);
теперь:

Java
1
2
3
4
5
6
Notification.Builder builder = new Notification.Builder(context)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("CEPF Mobile")
.setContentText("New post in Special Columnist Blog")
.setContentIntent(contentIntent);
Notification notification = builder.buid();
0
74 / 48 / 27
Регистрация: 25.03.2014
Сообщений: 357
Записей в блоге: 1
03.03.2019, 14:46  [ТС]
Цитата Сообщение от jaman_smk Посмотреть сообщение
студент1235, вариант решения тут: https://stackoverflow.com/ques... tification

Вкратце:

вместо:

Java
1
2
Notification notification = new Notification(R.drawable.ic_launcher,"CEPF Mobile",0);
notification.setLatestEventInfo(context, "CEPF Mobile", "New post in Special Columnist Blog", contentIntent);
теперь:

Java
1
2
3
4
5
6
Notification.Builder builder = new Notification.Builder(context)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("CEPF Mobile")
.setContentText("New post in Special Columnist Blog")
.setContentIntent(contentIntent);
Notification notification = builder.buid();
Вот на что он теперь зато ругается
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
03.03.2019, 14:53
студент1235, так это пример был, свои данные подставь.

Добавлено через 50 секунд
студент1235, + из первого поста - intent2.
1
74 / 48 / 27
Регистрация: 25.03.2014
Сообщений: 357
Записей в блоге: 1
04.03.2019, 14:31  [ТС]
Цитата Сообщение от jaman_smk Посмотреть сообщение
студент1235, так это пример был, свои данные подставь.

Добавлено через 50 секунд
студент1235, + из первого поста - intent2.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.timer.notif;
 
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
 
public class MainActivity extends AppCompatActivity {
    private NotificationManager nm;
    private final int NOTIFICATION_ID = 127;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        nm = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
    }
    public void showNotification(View view) {
        Notification.Builder builder = new Notification.Builder(getApplicationContext());
        Intent intent = new Intent(getApplicationContext(), FinishActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_CANCEL_CURRENT );
        builder
                .setContentIntent(pendingIntent)
                .setSmallIcon(R.drawable.ic_launcher_background)
                .setLargeIcon(BitmapFactory.decodeResource(getApplication().getResources(), R.drawable.ic_launcher_background))
                .setTicker("Новое уведомление")
                .setWhen(System.currentTimeMillis())
                .setAutoCancel(true)
                .setContentTitle("Уведомление")
                .setContentText("Нажмите чтобы узнать кое что");
 
        Notification notification = null;
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
            notification = builder.build();
        }
        nm.notify(NOTIFICATION_ID, notification);
    }
 
}
А можно еще узнать вот есть такой код (взял как образец с видео) так вот на видео у человека все получилось, я сделал все подкопирку чтобы просмотреть как это делается и в итоге запускаю и нечего нажимаю по кнопке и ей все равно не реагирует, хоть и привязан к ней код
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
04.03.2019, 14:40
студент1235, что в логи выводит? Версия Android какая?
1
74 / 48 / 27
Регистрация: 25.03.2014
Сообщений: 357
Записей в блоге: 1
04.03.2019, 14:41  [ТС]
Цитата Сообщение от jaman_smk Посмотреть сообщение
студент1235, что в логи выводит? Версия Android какая?
ошибок нет, сначала стояла 4.0.3, поменял на 6.0, но все тоже самое
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
04.03.2019, 14:42
студент1235, showNotification() откуда вызывается?
0
74 / 48 / 27
Регистрация: 25.03.2014
Сообщений: 357
Записей в блоге: 1
04.03.2019, 14:45  [ТС]
Цитата Сообщение от jaman_smk Посмотреть сообщение
студент1235, showNotification() откуда вызывается?
Java
1
2
3
4
5
6
7
8
9
10
11
12
package com.timer.notif;
 
import android.app.Activity;
import android.os.Bundle;
 
public class FinishActivity extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.finish_layout);
    }
}
это основная форма
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
 
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:onClick="showNotification"
 
        android:text="@string/btn"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
04.03.2019, 15:04
студент1235, NotificationCompat используй для старых версий Android.

Добавлено через 30 секунд
студент1235, + почему ты везде getApplicationContext() используешь?
0
74 / 48 / 27
Регистрация: 25.03.2014
Сообщений: 357
Записей в блоге: 1
04.03.2019, 15:07  [ТС]
Цитата Сообщение от jaman_smk Посмотреть сообщение
студент1235, NotificationCompat используй для старых версий Android.

Добавлено через 30 секунд
студент1235, + почему ты везде getApplicationContext() используешь?
Тогда вопрос от сюда же, что считать старыми версиями андроид? До какой они старые? и getApplicationContext() это я использую так как было в видео и хотел сначала попробовать его вариант
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
04.03.2019, 15:09
студент1235, меньше 4.1 . Чем документация плоха? https://developer.android.com/... tification
0
74 / 48 / 27
Регистрация: 25.03.2014
Сообщений: 357
Записей в блоге: 1
04.03.2019, 15:29  [ТС]
Цитата Сообщение от jaman_smk Посмотреть сообщение
студент1235, меньше 4.1 . Чем документация плоха? https://developer.android.com/... tification
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID) вот от туда строчка, что тут значит CHANNEL_ID ?
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
04.03.2019, 15:36
студент1235, https://developer.android.com/... r/channels
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.03.2019, 15:36
Помогаю со студенческими работами здесь

Обновление уведомления
Присылаю уведомление о новых сообщениях в чате через GCM. При каждом новом уведомлении я должен увеличивать число( &quot;new messages&quot;...

Ежедневные уведомления
Доброго времени суток. Требуется сделать ежедневное уведомление о некотором игровом событии. Хотел бы узнать мнение окружающих: как это...

Уведомления по времени
Здравствуйте.Пытаюсь создать что то типо напоминалки пить лекарства. Устанавливается время и дни, а затем в нужное время выводится...

Push-уведомления
Всем привет! Хочу сделать так что бы через, допустим, час показывалось уведмление. Вот что вышло import...

Уведомления Notification
как вызвать новое активити через уведомление ?


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru