[解決済み] Androidでインターネット接続が可能かどうかを検出する【重複】。
2022-03-14 05:17:41
質問
重複の可能性があります。
Androidでインターネット接続を確認するには?InetAddressがタイムアウトしない
Android端末がインターネットに接続されているかどうかを検出したいのですが。
は
NetworkInfo
クラスは、非静的メソッドである
isAvailable()
というのは完璧な響きです。
問題は、そのことです。
NetworkInfo ni = new NetworkInfo();
if (!ni.isAvailable()) {
// do something
}
はこのエラーを投げます。
The constructor NetworkInfo is not visible.
を返す別のクラスが存在する可能性があります。
NetworkInfo
オブジェクトを作成します。でも、どれがそうなのかわからない。
- 上記のスニペットのコードを動作させるにはどうしたらいいですか?
- オンラインドキュメントで必要な情報を自分で見つけることができたのはなぜか?
- このような検出のためのより良い方法を提案できますか?
解決方法は?
その
getActiveNetworkInfo()
メソッドの
ConnectivityManager
が返されます。
NetworkInfo
のインスタンスで、最初に見つかった接続されたネットワークインタフェースか
null
は、どのインターフェースも接続されていない場合。このメソッドが
null
は、インターネット接続が利用可能かどうかを判断するのに十分である。
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
も必要です。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
をアンドロイドマニフェストに追加してください。
編集してください。
ネットワークインターフェースが有効であっても、特定のネットワークサービスが利用できることを保証するものではないことに注意してください。ネットワークの問題、サーバーのダウンタイム、低信号、キャプティブポータル、コンテンツフィルターなどはすべて、アプリがサーバーに到達するのを妨げる可能性があります。例えば、アプリがTwitterにアクセスできるかどうかは、Twitterサービスから有効なレスポンスを受け取るまでわかりません。
関連
-
アプリケーションがメインスレッドで過剰に作業している可能性があります。
-
Androidプロセス生存のためのソリューション
-
Android カスタムスピナーコントロールのドロップダウン・ボックスの実装
-
Androidのカラーグラデーション実装のまとめ
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] Androidでインターネット接続を確認するには?InetAddressがタイムアウトしない
-
[解決済み] Androidアプリケーションからインターネットにアクセスするには、どのような権限が必要ですか?
-
[解決済み】インターネット接続がオフラインになったことを検出しますか?
-
[解決済み] Flutterアプリでインターネット接続が可能かどうかを確認する
-
[解決済み] Android端末がインターネットに接続されているかどうかを検出する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
AndroidエミュレーターのADBサーバーがACKしない問題
-
AndroidStudio reports Could not resolve all artifacts for configuration ':app:classpath'.
-
cygwinのダウンロード、インストールチュートリアル、およびCDTの「makeプログラムがパスに見つからない」バグの解消
-
デフォルトのアクティビティが見つからない場合の対処法
-
アンドロイドプロジェクトのパッケージングにgradleを使用する際の問題点
-
エラー:未宣言の識別子(AS)の使用
-
Androidで、onTouchEventでダブルクリックを実装し、ダブルクリックイベントとして判定する方法
-
アンドロイドリストビュー
-
超シンプルなアンドロイドのタイムディレイ機能
-
[解決済み] Androidでインターネット接続を確認するには?InetAddressがタイムアウトしない