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

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

Войти
Регистрация
Восстановить пароль
 
KorPaEv
53 / 29 / 3
Регистрация: 08.07.2011
Сообщений: 185
#1

Уведомления в BroadcastReceiver - Android

26.11.2015, 14:29. Просмотров 320. Ответов 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
Servise, BroadcastReceiver, Activity Android
Android Как заставить работать BroadcastReceiver?
Как запустить метод в Activity из BroadcastReceiver Android
Как узнать что BroadcastReceiver сообщение зарегистрировано? Android
Android Запуск BroadcastReceiver без активити
BroadcastReceiver, куда добавить код? Android
BroadcastReceiver + static переменная Android
BroadcastReceiver Android
Android Виджеты, BroadcastReceiver и Строки
Android BroadcastReceiver, считывание состояние телефона

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

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

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