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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 479
#1

Как вызвать Notification в Broadcast Receiver? - Android

06.04.2015, 15:31. Просмотров 1450. Ответов 26
Метки нет (Все метки)

нужно чтобы по событию в классе Broadcast Receiver, а точнее в методе onReceive() запустить метод уведомления например такое
Кликните здесь для просмотра всего текста
http://developer.alexanderklimov.ru/android/notification.php
, код которого расположен в MainActivity, но когда делаешь метод Notification статиком появляются проблемы с контекстом или как вообще лучше поступить?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2015, 15:31     Как вызвать Notification в Broadcast Receiver?
Посмотрите здесь:

Android Receiver не принимает сообщения
Android Подружить receiver и service
broadcast reciever Android
Android Receiver
Кнопки в Notification Android
Android Про Broadcast
Как получить preferences из broadcast reciver? Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
06.04.2015, 21:39     Как вызвать Notification в Broadcast Receiver? #21
Так я не понял, бродкаст когда срабатывает? На СМС или на GPS?
Я с GPS не работал, но не надо ли его тоже permission сделать?
И много лишнего тут, почистить надо было код.
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 479
06.04.2015, 21:55  [ТС]     Как вызвать Notification в Broadcast Receiver? #22
Rube, на SMS срабатывает....
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
07.04.2015, 07:49     Как вызвать Notification в Broadcast Receiver? #23
Это правильно написано? Можно ли так?
XML
1
2
<action android:name="android.provider.Telephony.SMS_RECEIVED" >
</action>
Это что такое?
XML
1
android:permission="BabyGPS2"
Добавлено через 3 минуты
Вот так
XML
1
2
3
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
...
<service android:name=".NotificationService" />
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 479
07.04.2015, 10:13  [ТС]     Как вызвать Notification в Broadcast Receiver? #24
Rube,
Это что такое?
Код XML
XML
1
2
1
android:permission="BabyGPS2"
вычитал что дает доступ к сервису только моему приложению...

Вот так
сделал,... ничего, только тост мой всплывает что получены данные из смс...

Добавлено через 42 минуты
в MainActivity onClick на кнопку написал так
Java
1
startService(new Intent(MainActivity.this, NotificationService.class));
нажимаю, тоже нет ошибок и нет реакции???

Добавлено через 1 час 9 минут
Все заработало, с помощью сервиса так и не удалось запустить, поэтому сделал так:

в MessageReceiver метод onReceive вставил такой код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
nm = (NotificationManager) context
                            .getSystemService(Context.NOTIFICATION_SERVICE);
                          CharSequence from = "Nithin";
                          CharSequence message = "Crazy About Android...";
                          PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
                            new Intent(), 0);
                          @SuppressWarnings("deprecation")
                        Notification notif = new Notification(R.drawable.hungrycat,
                            "Crazy About Android...", System.currentTimeMillis());
                          notif.setLatestEventInfo(context, from, message, contentIntent);
                          notif.sound = Uri.parse("android.resource:///"+ R.raw.alert);
                          notif.defaults = Notification.DEFAULT_LIGHTS | Notification.DEFAULT_VIBRATE;
 
                          nm.notify(1, notif);
и все появляется и вибрирует, тока звук не проигрывает, не знаю как правильно файл указать который лежит в res/raw/alert.wav, может если кто в уме помнит подскажите как путь правильно должен выглядеть?
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
07.04.2015, 10:50     Как вызвать Notification в Broadcast Receiver? #25
Ну в принципе если нотификация используется только при получении смс, то можно и в бродкасте ее и вызывать.
Насчет звука, если не ошибаюсь, в манифесте не нужно ли разрешение делать?
Путь как обычно вроде задается, R.raw.alert.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
07.04.2015, 11:06     Как вызвать Notification в Broadcast Receiver? #26
Цитата Сообщение от disx Посмотреть сообщение
тока звук не проигрывает, не знаю как правильно файл указать который лежит в res/raw/alert.wav, может если кто в уме помнит подскажите как путь правильно должен выглядеть?
http://stackoverflow.com/a/6409511
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2015, 11:11     Как вызвать Notification в Broadcast Receiver?
Еще ссылки по теме:

WhatsApp call receiver Android
Как убрать маленькую иконку в правом нижнем углу notification? Android
Android AlarmManager и Service or Receiver?
Service fragment broadcast Android
Android Как остановить сервис по нажатию на Notification

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

Или воспользуйтесь поиском по форуму:
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
07.04.2015, 11:11     Как вызвать Notification в Broadcast Receiver? #27
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот тут подробно
http://developer.alexanderklimov.ru/...tification.php
Yandex
Объявления
07.04.2015, 11:11     Как вызвать Notification в Broadcast Receiver?
Ответ Создать тему
Опции темы

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