Бессмертный Broadcast

Ответить
burovalex
Сообщения: 29
Зарегистрирован: 12 июл 2013, 12:11

Бессмертный Broadcast

Сообщение burovalex » 11 май 2015, 12:50

Всем привет!
Написал виджет включения точки доступа wi-fi, при нажатии на виджет, он включает wi-fi точку, а броадкаст слушает изменения

Код: Выделить всё

    
@Override
public void onCreate(Context context) {
        IntentFilter mFilter = new IntentFilter();
        mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
        mFilter.addAction("android.net.wifi.WIFI_AP_STATE_CHANGED");
        context.registerReceiver(WifiReceiver, mFilter);
}

    @Override
    public void onEnabled(Context context) {
        super.onEnabled(context);
        context.getApplicationContext().registerReceiver(this.WifiReceiver, new IntentFilter("android.net.wifi.WIFI_AP_STATE_CHANGED"));
    }

    public BroadcastReceiver WifiReceiver =  new BroadcastReceiver(){
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent != null) {
                if (intent.getAction().equals("android.net.wifi.WIFI_AP_STATE_CHANGED")) {
                    WifiApToast(context, WifiApState(context));
                    for (int id : widgetIDs) {
                        updateWidget(context, AppWidgetManager.getInstance(context), id);
                    }
                }
            }
        }   //onReceive
    };
Все отлично работает, пока система не подчистит. Потом BroadcastReceiver WifiReceiver перестает срабатывать.
Предложите выход плиз

burovalex
Сообщения: 29
Зарегистрирован: 12 июл 2013, 12:11

Re: Бессмертный Broadcast

Сообщение burovalex » 11 май 2015, 15:27

Может знаете как сделать чтобы Броадкаст Ресивер не убивала система?
Вариант с постоянным уведомлением - не вариант

Аватара пользователя
ivannatobedev
Сообщения: 30
Зарегистрирован: 03 дек 2014, 13:27

Re: Бессмертный Broadcast

Сообщение ivannatobedev » 11 май 2015, 16:13

Ткну пальцем в воздух: пробовали регистрировать его в манифесте?

burovalex
Сообщения: 29
Зарегистрирован: 12 июл 2013, 12:11

Re: Бессмертный Broadcast

Сообщение burovalex » 11 май 2015, 18:56

Да, пробовал..

Код: Выделить всё

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ru.avb.widgetpack">

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


    <application
        android:allowBackup="true"
        android:label="@string/app_name"
        android:icon="@drawable/ic_wifi_tether"
        android:theme="@style/AppTheme">
        <receiver android:name=".WidgetPack">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED"/>
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/widget_info" />
        </receiver>

        <activity android:name=".WidgetConfig">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
            </intent-filter>
        </activity>

        <activity android:name=".Welcome"></activity>
    </application>

</manifest>

burovalex
Сообщения: 29
Зарегистрирован: 12 июл 2013, 12:11

Re: Бессмертный Broadcast

Сообщение burovalex » 12 май 2015, 08:31

Хотя onClickListener на виджете продолжает работать.
Может кто-нибудь хотя бы подскажет, Что мне написать на событие onClickListener чтобы воскресить BroadcastReceiver?

Ответить