2017-01-29 5 views
0

android.net.conn.CONNECTIVITY_CHANGE이라는 에 대해 BroadcastReceiver을 사용했지만 에뮬레이터를 통해 확인하는 동안 인터넷에 연결되어 있지 않은 경우에도 모바일 데이터가 에뮬레이터에서 켜져있는 경우 연결을 확인할 수 있습니다. 살아있다. 이 모바일 데이터/무선 랜의 때문에 어느 상기 인터넷에 케이스 (5, 6)의 PC에 접속하고 7 없거나 모두 ON 전환되며 때에도android.net.conn.CONNECTIVITY_CHANGE에 대한 BroadcastReceiver는 실제로 인터넷 연결을 확인합니까?

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 도시 비 가용성 실태 인터넷의 반영되지 않습니다.

이 문제를 해결할 방법이 있습니까?

답변

2

인터넷 연결이 작동하는지 확인하는 한 가지 방법은 Google.com에 요청하는 것입니다. 응답 200을받는 경우 그렇지 않으면 작동중인 인터넷 연결이됩니다.

연결 관리자를 사용하는 경우 연결된 네트워크가 인터넷에 연결되어 있는지 여부를 확인할 방법이 없습니다. 우리가 WiFi에 연결되어 있지만 작동하지 않는 경우가 종종 있습니다. 희망이 당신을 도울 것입니다 ..

+0

당신이 말한 것은 그럴듯한 해결책이지만 HTTP 연결로 응답 코드를 확인하는 방법은 무엇입니까? 그것을 할 방법이 있습니까? 그런 유용한 라이브러리를 얻는 것이 매우 도움이 될 것입니다. –

+0

이 링크를 살펴보십시오. http://stackoverflow.com/questions/6467848/how-to-get-http-response-code-for-a-url-in-java – Deepesh

0

의도 필터와 BroadcastReceiver 네트워크에 변화가있을 때 android.net.conn.CONNECTIVITY_CHANGE 발사된다. 네트워크 연결 중 - 연결 끊김 또는 그 반대