ホームページ > Java > &#&チュートリアル > Android でネットワーク ステータスの変化とオフライン イベントを検出する方法

Android でネットワーク ステータスの変化とオフライン イベントを検出する方法

Mary-Kate Olsen
リリース: 2024-10-24 19:51:02
オリジナル
785 人が閲覧しました

How to Detect Network Status Changes and Offline Events on Android?

Android でのネットワーク ステータスの変化の監視

質問: Android でネットワーク ステータスの変化を検出するにはどうすればよいですか?

ネットワーク ステータスの変化をキャプチャするために、Android は BroadcastReceiver クラスを提供します。 ConnectivityManager クラスを使用すると、アクティブなネットワーク接続に関する情報を取得できます。

解決策:

1. BroadcastReceiver

<code class="java">public class ConnectionChangeReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
        NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

        if (activeNetInfo != null) {
            Toast.makeText(context, "Active Network Type: " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT).show();
        }

        if (mobNetInfo != null) {
            Toast.makeText(context, "Mobile Network Type: " + mobNetInfo.getTypeName(), Toast.LENGTH_SHORT).show();
        }
    }
}</code>
ログイン後にコピー

2 を拡張する Java クラスを作成します。 AndroidManifest.xml

<code class="xml"><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /></code>
ログイン後にコピー

3 に必要な権限を追加します。 AndroidManifest.xml

<code class="xml"><receiver android:name="com.blackboard.androidtest.receiver.ConnectionChangeReceiver"
          android:label="NetworkConnection">
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
</receiver></code>
ログイン後にコピー

4.にBroadcastReceiverを登録します。 BroadcastReceiver を動的に登録する (オプション)

コード内で BroadcastReceiver を動的に登録する必要がある場合は、次のアプローチを使用できます。

<code class="java">BroadcastReceiver receiver = new ConnectionChangeReceiver();
IntentFilter filter = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE");
context.registerReceiver(receiver, filter);</code>
ログイン後にコピー

このコードにより、次のことが可能になります。ネットワークステータスの変化をキャプチャし、ネットワークがいつオフラインになるかを判断します。アプリケーション ロジックでイベントを適切に処理できます。

以上がAndroid でネットワーク ステータスの変化とオフライン イベントを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート