-
burovalex
- Сообщения: 29
- Зарегистрирован: 12 июл 2013, 12:11
Сообщение
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
Сообщение
burovalex » 11 май 2015, 15:27
Может знаете как сделать чтобы Броадкаст Ресивер не убивала система?
Вариант с постоянным уведомлением - не вариант
-
burovalex
- Сообщения: 29
- Зарегистрирован: 12 июл 2013, 12:11
Сообщение
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
Сообщение
burovalex » 12 май 2015, 08:31
Хотя onClickListener на виджете продолжает работать.
Может кто-нибудь хотя бы подскажет, Что мне написать на событие onClickListener чтобы воскресить BroadcastReceiver?