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

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

Войти
Регистрация
Восстановить пароль
 
KorPaEv
55 / 31 / 4
Регистрация: 08.07.2011
Сообщений: 191
#1

Уведомления в BroadcastReceiver - Программирование Android

26.11.2015, 14:29. Просмотров 351. Ответов 2
Метки нет (Все метки)

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

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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.SmartHome"
          android:versionCode="1"
          android:versionName="1.0">
 
    <uses-sdk android:minSdkVersion="17"/>
    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
    <uses-permission android:name="android.permission.READ_SMS"/>
 
    <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
 
        <activity android:name="MainActivity"
                  android:label="@string/main_inf"
                  android:windowSoftInputMode="stateHidden"> 
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
 
        <receiver android:name=".MessageReceiver" android:enabled="true">
            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>
 
    </application>
</manifest>
Сам рессивер

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
package com.example.SmartHome;
 
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.os.Bundle;
import android.telephony.SmsMessage;
 
public class MessageReceiver extends BroadcastReceiver
{
    private static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";
    
//ВОТ ТУТ МАНАГЕР ЗВУКА
    private static AudioManager audioManager;
 
    @Override
    public void onReceive(Context context, Intent intent)
    {
        Bundle bundle = intent.getExtras();
        String smsFrom = "", smsBody = "";
        String[] splitSmsBody;
 
//СТУЧУСЬ К СЕРВИСУ, ОТКЛЮЧАЮ СРАЗУ ЗВУК В РЕССИВЕРЕ ПО УМОЛЧАНИЮ НО ТУТ ПОЧЕМУ ТО ОН НЕ ОТКЛЮЧАЕТСЯ УЖЕ
 
        audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
        audioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, false);
 
        if (intent != null && intent.getAction() != null && ACTION.compareToIgnoreCase(intent.getAction()) == 0)
        {
         //.......   
         }
       
            if (smsBody.contains("SmartHome"))
            {
              //......
             }
 
 
//ИНАЧЕ ВКЛЮЧАЮ ОБРАТНО СИСТЕМНЫЙ ЗВУК НО НЕ ПАХАЕТ!!!
 
 
            else audioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);
        }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2015, 14:29     Уведомления в BroadcastReceiver
Посмотрите здесь:

BroadcastReceiver - Программирование Android
У меня такой вопрос если я создал ресивер и прописал его в манифесте. Мой ресивер прослушивает определенные интенты. И у меня такой вопрос...

BroadcastReceiver и startActivity - Программирование Android
У меня есть служба и BroadcastReceiver. Когда приходит событие, то я вызываю startService. Если служба не запущена, то она запускается и...

Чтение preferences в BroadcastReceiver - Программирование Android
Доброго времени суток. Сам смысл того что я делаю: есть активити, которая отображает состояние батареи, есть активити настроек и есть...

Servise, BroadcastReceiver, Activity - Программирование Android
Здравствуйте, есть сервис и активити, сервис возвращает данные активити через BroadcastReceiver... все работает отлично, но когда виходиш...

Виджеты, BroadcastReceiver и Строки - Программирование Android
Здравствуйте. Занимаюсь созданием виджета. Делаю что то наподобие нажатия на кнопку. Использую Broadcast. Предполагается ,что после нажатия...

BroadcastReceiver + static переменная - Программирование Android
Работая с бродкаст ресивером задался вопросом, как же он всё-таки работает?) Есть следующий код, который фиксирует состояние телефонного...

Как заставить работать BroadcastReceiver? - Программирование Android
Добрый день! Собственно идея: есть стандартный плеер телефона(HTC One m7 Android 4.4.3) и проводная гарнитура с одной кнопкой. Но по...

BroadcastReceiver, куда добавить код? - Программирование Android
помогите понять часть статьи https://habrahabr.ru/post/234425/. добрался до Для работы BroadcastReceiver'а надо добавить немного кода в...

BroadcastReceiver, считывание состояние телефона - Программирование Android
Добрый день! Создал вот такой класс, для считывания состояния телефона во время звонка. public class CallReceiver extends...

Запуск BroadcastReceiver без активити - Программирование Android
Имеется приложение, включающее в себя единственный класс: public class MyReceiver extends BroadcastReceiver{ @Override ...

Как поучить/передать данные в/из BroadcastReceiver ? - Программирование Android
Например, есть BroadcastReceiver и есть Сервис. BroadcastReceiver получает различные ресиверы от системы (типа...

Как запустить метод в Activity из BroadcastReceiver - Программирование Android
Здравствуйте!!! Все до банальности просто и повторяется, по кругу :) Новичок, увлекся Java &amp; Android... Пытаюсь изобразить приложения...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 932
27.11.2015, 15:02     Уведомления в BroadcastReceiver #2
Вы уверены,что не NotificationManager за системные звуки отвечает?
KorPaEv
55 / 31 / 4
Регистрация: 08.07.2011
Сообщений: 191
30.11.2015, 09:17  [ТС]     Уведомления в BroadcastReceiver #3
REALIST07, не уверен, потому как только начал копать эту тему...как из менеджера уведомлений вытащить звук смс тогда?
Ответ Создать тему
Опции темы

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