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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Hank
48 / 39 / 3
Регистрация: 28.12.2011
Сообщений: 225
#1

Receiver не принимает сообщения - Android

23.03.2013, 01:39. Просмотров 1223. Ответов 4
Метки нет (Все метки)

Привет.
Почему-то receiver не принимает системные броадкасты, можешь какая-то ошибка в моей писанине, а ее "замыленым" взглядом не вижу.

Код:
Java
1
2
3
4
5
6
7
8
9
public class ApplicationStartListener extends BroadcastReceiver {
    Context mContext;
    @Override
    public void onReceive(Context context, Intent intent) {
            mContext = context;
            Toast.makeText(mContext, "FUI", Toast.LENGTH_LONG).show();
            Log.v("Server application FUI", intent.getAction());
    }
}
Манифест:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.sample.Project"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="15"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
        <receiver android:name=".ApplicationStartListener" android:enabled="true" android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_CHANGED"/>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <action android:name="android.intent.action.SCREEN_ON"/>
                <action android:name="android.net.wifi.supplicant.CONNECTION_CHANGE"/>
                <action android:name="android.intent.action.SCREEN_OFF"/>
            </intent-filter>
        </receiver>
    </application>
</manifest>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 01:39     Receiver не принимает сообщения
Посмотрите здесь:

Android Передача сообщения из потока. Handler
Android Facebook api. Отправка личного сообщения
Android Подружить receiver и service
Android Receiver
Вывод принятого сообщения (клиент-сервер) Android
Android ListView сообщения с прикрепленными элементами
Android Как вызвать Notification в Broadcast Receiver?
Отправка сообщения в Skype из приложения Android
Как прочитать личные сообщения в твиттере Android
WhatsApp call receiver Android
Android Отправка сообщения на ПК с реализацией обратной связи
Android AlarmManager и Service or Receiver?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lifestyle
Mobile Developer
231 / 227 / 4
Регистрация: 10.05.2009
Сообщений: 917
23.03.2013, 21:52     Receiver не принимает сообщения #2
Не ловит ни одно из перечисленных Intent'ов?!
попробуйте воссоздать программный ресивер для проверки...

Добавлено через 2 минуты
Если не путаю и не ошибаюсь Интент PACKAGE_CHANGED не срабатывает на прилоежнии чей PACKAGENAME изменился... . И некоторые ресиверы не срабатывают через определение в манифесте , так что попробуйте перепроверить каждый вариант через программный ресивер

Добавлено через 3 минуты
Стоит взглянуть на ответ к вопросу про BOOT_COMPLETED
http://stackoverflow.com/a/8277222
Hank
48 / 39 / 3
Регистрация: 28.12.2011
Сообщений: 225
24.03.2013, 09:26  [ТС]     Receiver не принимает сообщения #3
Да, действительно при программном воссоздании ресивера некоторые Intent принимаются, например, "android.intent.action.SCREEN_ON". Спасибо за совет.
Но только для меня более важным является "android.intent.action.PACKAGE_CHANGED". Т.к. нужно узнать, что было запущено приложение. Я ведь верно определил из документации нужный Intent?
Что значит:
Интент PACKAGE_CHANGED не срабатывает на прилоежнии чей PACKAGENAME изменился...
lifestyle
Mobile Developer
231 / 227 / 4
Регистрация: 10.05.2009
Сообщений: 917
26.03.2013, 18:50     Receiver не принимает сообщения #4
Интент PACKAGE_CHANGED не срабатывает на прилоежнии чей PACKAGENAME изменился... не релевантно я перепутал с PACKAGE_CLEARED
Насчет правильно выбранного интента я сомневаюсь что это оно.
вот ссылка на дискуссию по данной теме
http://stackoverflow.com/questions/3...s-are-launched
По моему мнению нужно отлавливать интенты о запуске приложений и потом смотреть что за приложение
обрати внимание на интент фильтр
XML
1
2
3
4
<intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
Hank
48 / 39 / 3
Регистрация: 28.12.2011
Сообщений: 225
26.03.2013, 22:26  [ТС]     Receiver не принимает сообщения #5
Делаю вот так, но что-то не выходит. Замучился уже с этими интентами. А кстати ACTION.SCREEN.ON(OFF) он нормально перехватывает (я для теста проверял).

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class TestActiv extends Activity{
 
    public void onCreate(Bundle bundle){
        super.onCreate(bundle);
        setContentView(R.layout.main);
        final IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(Intent.ACTION_MAIN);
        intentFilter.addCategory(Intent.CATEGORY_LAUNCHER);
 
        BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                Log.v("Server application", "Проба: ");
            }
        };
        registerReceiver(broadcastReceiver, intentFilter);
    }
}
Yandex
Объявления
26.03.2013, 22:26     Receiver не принимает сообщения
Ответ Создать тему
Опции темы

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