У меня изменение состояния сети Broadcast Receiver
настройка для моего приложения. Мне нужно получать Wi-Fi-соединения, даже если телефон находится в спящем режиме. Это работает, когда телефон заряжается и во сне, но не делает его не во сне.Изменение связи Трансляция приемника не запускается, когда телефон находится в спящем режиме
здесь код
public class NetworkConnectionReceiver extends WakefulBroadcastReceiver {
public static final String INTENT_CONNECTIVITY_CHANGE = "android.net.conn.CONNECTIVITY_CHANGE";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equalsIgnoreCase(INTENT_CONNECTIVITY_CHANGE)) {
NetworkChangedEvent event = new NetworkChangedEvent();
NetworkInfo activeNetworkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
boolean wifiConnected = activeNetworkInfo != null
&& activeNetworkInfo.isConnected()
&& activeNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI;
if (wifiConnected) {
// start a service here
}
}
}
}
вот как его зарегистрированный в очевидном
<receiver
android:name=".NetworkConnectionReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>
Я знаю спящий режим проблемы, связанными с Зефир и выше устройств, но я даже не получаю событие в KitKat устройства, когда телефон находится в спящем режиме и не подключен к зарядному устройству.
пытается это прямо сейчас, но я не уверен, поскольку я считаю, что трансляция сама по себе не запускается на первом месте. –
проверено, все еще не работает. –
Обновление: оно работает на одном устройстве, а не на другом. Принятие ответа на данный момент. –