私はプログラムを作っています。インターネットに接続するにはwifiを使用しなければなりません。私は無線LANが接続されているかどうかを確認するためにいくつかの情報を見つける。しかし、状況によってはWi-Fi APに接続できますが、Wi-Fiに必要なアカウントとパスワードのようなインターネットをhttpsの証明書に使用できない場合、またはWi-Fi APがインターネットに接続できない場合があります。だから、実際のインターネット接続をどうすれば確認できますか?アンドロイドで接続されている実際のインターネットをチェックする方法は?
6
A
答えて
5
www.google.comへの「Ping」を行うだけで、ダウンしている可能性は非常に低いです。
P.S.デバイスが機内モードまたは接続モードでは使用できていないネットワーク内にない場合には、以下の方法によれば..我々は我々のアプリで仕事だ
public static boolean isReachable(Context context) {
// First, check we have connectivity
final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo netInfo = connMgr.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnected()) {
// check if google is reachable
try {
URL url = new URL("http://www.google.com");
HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(10 * 1000); // Ten seconds timeout in milliseconds
urlc.connect();
if (urlc.getResponseCode() == 200) { // success
return true;
} else { // Fail
return false;
}
} catch (IOException e) {
Log.e(TAG, e.getMessage());
return false;
}
} else {
return false;
}
}
1
、この方法では、そうでない場合は真falseを返します。上記のシナリオが満たされれば、nullを返すことを念頭に置いてください。そのため、nullのnetInfoオブジェクトをチェックすることによって処理されます。
public boolean isOnline() {
ConnectivityManager conManager =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = conManager .getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
マニフェストにネットワークの状態にアクセスする権限を取得することを忘れないでください。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2
下記をご参照ください:
ConnectivityManager connectivityManager;
NetworkInfo wifiInfo, mobileInfo;
public Boolean checkNow(Context con){
try{
connectivityManager = (ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
wifiInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
mobileInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if(wifiInfo.isConnected() || mobileInfo.isConnected())
{
return true;
}
}
catch(Exception e){
System.out.println("CheckConnectivity Exception: " + e.getMessage());
}
return false;
}
は、以下のようなあなたのonCreate()
方法で上記の方法を使用します:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
boolean con = checkNow(getApplicationContext());
if(con){
Toast.makeText(getApplicationContext(), "Connection Founded", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(), "Connection Not Founded", Toast.LENGTH_SHORT).show();
}
}
あなたを
はブール値を返すメソッドを作成しますあなたは、インターネット接続avaの場合は"Connection Founded"
としてプロンプトが表示されますアプリを実行するそれ以外の場合は"Connection Not Founded"
と表示されます。
関連する問題
- 1. android.net.conn.CONNECTIVITY_CHANGEのBroadcastReceiverは実際にインターネット接続をチェックしていますか?
- 2. インターネット接続の問題、私は以下の方法でインターネット接続をチェックしています私のアプリで
- 3. イオンのボタンタップでインターネット接続をチェックする方法は?
- 4. インターネット接続チェック
- 5. ボタンクリックでインターネット接続をチェックする方法は?
- 6. アンドロイドがインターネットに接続しているときのアドバイス方法
- 7. Asynctaskを使用してインターネット接続をチェックする方法
- 8. Inno Setupを使ってインターネット接続をチェックする方法
- 9. Ionicでインターネット接続をチェックする最良の方法
- 10. Javaでインターネット接続をチェックする方法
- 11. Fragementタブでインターネット接続をチェックする方法
- 12. アンドロイド - インターネットに接続
- 13. iPhoneがWi-Fiに接続されているインターネット接続をチェックしたいが、ルータがインターネットに接続されていない。
- 14. Androidインターネット接続を継続的にチェックしてください
- 15. Androidのインターネット接続のチェック
- 16. インターネット接続をチェックするAndroid
- 17. アンドロイドでインターネット接続を確認する(ネットワーク接続ではない)
- 18. iOSのWebKitViewでインターネット接続をチェックするタイマーを設定する方法
- 19. アプリケーション全体で定期的にインターネット接続をチェックする方法は?
- 20. インターネット接続チェックは、アンドロイドアプリで動作していないデバイスに
- 21. アプリケーションの起動後すぐにインターネット接続をチェックする方法は?
- 22. アンドロイドどのように無線LANをチェックするために接続されているが、いないインターネット接続
- 23. 多くのHTTP接続をアンドロイドで実行する方法は?
- 24. Wi-Fiに接続されているがintenernetが接続されていない場合のインターネット接続を検出する方法:iOS
- 25. デュアルsimアンドロイド携帯電話でインターネットに接続されているオペレータの名前を取得するには?
- 26. ブール唯一のfalseを返すインターネット接続をチェックする方法
- 27. Androidでインターネット接続をチェックするとエラーが発生する
- 28. アンドロイドでインターネット接続しているAndroidデバイスを確認するにはどうすればいいですか?
- 29. ApplicationFrameHostでホストされているUWPアプリケーションを実際のプロセスに接続する
- 30. インターネット接続チェック後にアプリを起動
私はpingが良い方法だと思いますが、android4.0では、このメソッドは新しいスレッドを実装する必要があります。新しいスレッドがなければ他の方法がありますか? –
あなたのアプリケーションの応答性を確保するために、ネットワークのものは別のスレッド(メインスレッドではない)で行うべきです。 – Frank
mm、ok、そこには実際のインターネット –