を使用してアンドロイドでインターネット接続を確認する。)あなたが<strong>アンドロイド</strong>に<strong>インターネット接続</strong>を確認したい場合は例えば その行う方法がたくさんあるgetActiveNetworkInfo
public boolean isConnectingToInternet(){
ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null)
{
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
return false;
}
getAllNetworkInfo(;はAPIレベル23で廃止されましたので、私は、インターネット接続の両方のAPIレベル23と前をチェックするソリューションを必要とする、私は
private boolean isConnectedToInternet()
{
ConnectivityManager cm = (ConnectivityManager) SplashActivity.this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null) { // connected to the internet
if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
// connected to wifi
Toast.makeText(SplashActivity.this, activeNetwork.getTypeName(), Toast.LENGTH_SHORT).show();
return true;
} else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
// connected to the mobile provider's data plan
Toast.makeText(SplashActivity.this, activeNetwork.getTypeName(), Toast.LENGTH_SHORT).show();
return true;
}
}
return false;
}
私の質問はgetActiveNetworkInfo()とをisConnected()のドキュメントうとしていることを行うために別の方法を見つけましたこの方法のためにGoogleが提供することは、現在アクティブなデフォルトのデータネットワークの詳細を返します
です。接続されている場合、このネットワークは発信接続のデフォルトルートです。ネットワークトラフィックを開始する前に、常にisConnected()をチェックする必要があります。デフォルトのネットワークがない場合、nullが返される場合があります。
は、なぜ我々は、返された場合、我々は他のインターネット接続を持ってnullでない場合、我々はヌルでgetActiveNetworkInfo()から返された値を確認することができますが、インターネット接続をチェックするためgetActiveNetworkInfo()にをisConnected()を呼び出す必要がありますgetActiveNetworkInfo()でisConnected()を呼び出すとnullポインタ例外が実行時にスローされますか?
[Android上で利用可能なインターネット接続があるかどうかを検出](https://stackoverflow.com/questions/4238921/detect-whether-there-isの可能性のある重複-an-internet-connection-on-android) –