Я использовал BroadcastReceiver
для IntentFilter
с именем android.net.conn.CONNECTIVITY_CHANGE
, но при проверке через эмулятор я узнал, что даже если нет истинного подключения к Интернету, если мобильные данные включены в эмулятор, это показывает, что соединение жив.Действительно ли BroadcastReceiver для android.net.conn.CONNECTIVITY_CHANGE проверяет подключение к Интернету?
CASE | MO_DATA | MO_WIFI | PC_INTER | RESP
---- | ------- | ------- | -------- | ----
1 | ON | ON | ON | ON
2 | ON | OFF | ON | ON
3 | OFF | ON | ON | ON
4 | OFF | OFF | ON | OFF
5 | ON | ON | OFF | ON
6 | ON | OFF | OFF | ON
7 | OFF | ON | OFF | ON
8 | OFF | OFF | OFF | OFF
Отклик показывает ON, даже если нет подключения к Интернету на компьютере в тех случаях, 5, 6 и 7 выше только потому, что любой из мобильных данных/Wi-Fi или оба включены и фактическое состояние недоступности Интернета не отражается.
Есть ли способ решить эту проблему?
Что вы сказали, это очень правдоподобное решение, но как проверить код ответа с HTTP-соединением? Есть ли способ сделать это? Было бы очень полезно получить такую полезную библиотеку. –
взгляните на эту ссылку http://stackoverflow.com/questions/6467848/how-to-get-http-response-code-for-a-url-in-java – Deepesh