2017-01-29 5 views
0

私はandroid.net.conn.CONNECTIVITY_CHANGEという名前のandroid.net.conn.CONNECTIVITY_CHANGEBroadcastReceiverを使用しましたが、エミュレータをチェックしている間に、インターネットに接続できない場合でも、エミュレータでモバイルデータがオンになっていれば接続生きている。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 

モバイルデータ/無線LANのいずれかまたは両方がオンと非可用性の実際のステータスされているので、応答のみの上、ケース5内のPCにはインターネット接続がない場合でもON示し6,7インターネットの影響は反映されません。

この問題を解決する方法はありますか?

答えて

2

インターネット接続が動作しているかどうかを確認する1つの方法は、Google.comにリクエストすることです。レスポンス200を受け取った場合は、ネット接続が有効です。

CONNECTIVITY MANAGERを使用する場合、接続されたネットワークがインターネットで動作しているかどうかを知る方法はありません.WiPhoneに接続されていても動作しない場合があります。これがあなたを助けてくれることを願っています..

+0

あなたが言ったことは非常に説得力のある解決策ですが、HTTP接続で応答コードをチェックする方法はありますか?それを行う方法はありますか?このような有用なライブラリを手に入れることは非常に役に立ちます。 –

+0

このリンクをご覧くださいhttp://stackoverflow.com/questions/6467848/how-to-get-http-response-code-for-a-url-in-java – Deepesh

0

インテントフィルター付きブロードキャストレシーバーandroid.net.conn.CONNECTIVITY_CHANGEは、ネットワークに変更があったときに発せられます。ネットワーク接続 - 切断またはその逆

関連する問題