端末で静的IPを使用しているときにインターネット接続を検出することにほとんど問題はありません。私は静的IPを設定せずに接続している間、使用可能な接続を検出するための私の機能が適切に動作しています。しかし、私は静的IPを設定すると、私はWifiや3Gに接続しているので、関数はtrueを返しますが、インターネットに接続していないので、その状況で私のアプリケーションがクラッシュします。任意のアイデアはどのように静的IPを使用してその問題を解決するには?ここ は、私が使用しているものです:スタティックIPを使用しているときにAndroidチェックデジットネットワーク接続
public boolean chkNetworkStatus(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
Toast.makeText(context, "No available connection!", Toast.LENGTH_LONG);
} else {
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;
}
貼り付けられたコードが正しいので、ここに問題がない可能性があります。 – idiottiger
これはコードに含まれていません。私は静的IPを使用していないときはすべて正常に動作しますが、スタティックを使用するオプションを設定してもデバイス上のWebサイトを開くことさえできませんが、Wifiや3Gに接続しているので、私はインターネットにアクセスできない。それがクラッシュする理由です。 –
情報[i]を.getState()== NetworkInfo.State.CONNECTEDのみ接続 'ネットワークをチェックしますが、特定することはできませんが( パブリックブールが接続されており、web'は次に接続することができます) 導入されたバージョン:APIレベル1 を示しネットワーク接続が存在し、接続を確立してデータを渡すことが可能であるかどうか。 – idiottiger