Проверьте, включены ли данные фонового ограничения или нет?
У меня есть служба, которая работает в основном потоке, а не в фоновом режиме. В сервисе проверяю сетевое соединение через broadcastreciver. Когда я включаюданные ограничения включены в настройках широковещательный приемник хорошо ловит намерение, но подключение к Интернету (мобильные данные) отключено для моего приложения, хотя оно есть на моем устройстве. я виделэтот вопрос, а такжеандроид документы.
intentFilter.addAction("android.net.conn.ACTION_BACKGROUND_DATA_SETTING_CHANGED");
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
registerReceiver(this.connectionStatusReceiver, intentFilter);
private BroadcastReceiver connectionStatusReceiver = new BroadcastReceiver() {
@Override
public synchronized void onReceive(Context context, Intent intent) {
log.info("connection state changed");
checkConnectionState();
}
};
getActiveNetworkInfo() - *will always display CONNECTED when i switch on *restriction**
Еще одна вещь, когда я включаю ограничение фоновых данных, я проверилintent.getAction
, Всегда возвращаетсяandroid.net.conn.CONNECTIVITY_CHANGE
, Как я могу проверить, включены ли данные фонового ограничения?