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

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

Восстановить пароль Регистрация
 
KorPaEv
 Аватар для KorPaEv
53 / 29 / 3
Регистрация: 08.07.2011
Сообщений: 174
26.11.2015, 14:29     Уведомления в BroadcastReceiver #1
Привет, уважаемые!
Прикрутил 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
 Аватар для REALIST07
174 / 174 / 13
Регистрация: 11.06.2010
Сообщений: 932
27.11.2015, 15:02     Уведомления в BroadcastReceiver #2
Вы уверены,что не NotificationManager за системные звуки отвечает?
KorPaEv
 Аватар для KorPaEv
53 / 29 / 3
Регистрация: 08.07.2011
Сообщений: 174
30.11.2015, 09:17  [ТС]     Уведомления в BroadcastReceiver #3
REALIST07, не уверен, потому как только начал копать эту тему...как из менеджера уведомлений вытащить звук смс тогда?
Yandex
Объявления
30.11.2015, 09:17     Уведомления в BroadcastReceiver
Ответ Создать тему
Опции темы

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