私はアンドロイドプロジェクトに取り組んでおり、インターネット接続を確認する必要がありました。ウェブを検索したところ、stackoverflow で解決策が見つかりました。ただし、インターネットの状態を確認する際に問題があります。すでにどこでも検索しましたが、問題の解決策が見つかりません。
マニフェストは次のとおりです。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
インターネットが接続されているかどうかを確認するためのコードは次のとおりです。
cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
if (cm != null) {
NetworkInfo ni = cm.getActiveNetworkInfo();
isConnected = (ni != null && ni.isAvailable() && ni.isConnected()) ? true : false;
}
問題は、TYPE_MOBILE データ トラフィックがアクティブであっても、ni 変数が常に null であることです。オペレーターのインターネット トラフィックにアクセスすることは、正しいテスト方法ですか? または、TelephonyManager を使用する必要がありますか? getNetworkInfo()[] を使用してデバッグしたため、奇妙です。TYPE_MOBILE の HSPA がそこに表示されますが、isAvalaible は常に false で、getState() = DISCONNECTED です。ただし、オペレーターのデータトラフィックが有効になっており、機能しています(他のアプリケーションで)
[編集] :ちなみに、エミュレータではなくデバイスで直接テストしています:)。
前もって感謝します。よろしく。