У меня есть IntentService, который выполняет некоторые вызовы веб-службы.Перед выполнением этих звонков я проверяю, что устройство подключено к сети.Я делаю так:
private boolean isOnline() {
ConnectivityManager connec = (ConnectivityManager)getSystemService(getApplicationContext().CONNECTIVITY_SERVICE);
return connec.getNetworkInfo(0).isConnectedOrConnecting();
}
К сожалению, когда я отлаживаю на своем устройстве Android, это возвращает false, когда у меня есть и сеть, и беспроводное соединение.
Некоторые интересныеtidbits о connectc.getNetworkInfo (0):
mIsAvailable = true
mNetworkType = 0
mTypeName = "mobile"
mState.name = "DISCONNECTED"
Очевидно, что этого кода недостаточно (возможно, он вернет true, только если я отправлю бит по сети и включу радио?).Более того, поскольку я не очень хорошо разбираюсь в ConnectivityManager, я предполагаю, что мне, вероятно, следует сканировать все сети (например, getNetworkInfo (от 0 до N)).хочешь здесь?