首頁  >  文章  >  Java  >  如何偵測 Android 中的網路連線變化?

如何偵測 Android 中的網路連線變化?

DDD
DDD原創
2024-10-25 01:40:30965瀏覽

How to Detect Network Connectivity Changes in Android?

在Android 中實作網路監聽器

問題:

我們能否監控Android 裝置上的網路連線變化並捕捉事件當網路離線時?

答案:

是的,Android 中可以監聽網路連線變化。詳細實作如下:

1.建立廣播接收器:

<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);
    // Check for active network and mobile network changes
    ...
  }
  ...
}</code>

2.聲明權限:

<code class="xml"><!-- Required to monitor network connectivity changes -->
<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>

說明:

廣播接收器註冊自己以偵聽來自系統的“CONNECTIVITY_CHANGE”廣播。當網路狀態變更時,會觸發 onReceive() 方法,接收方可以檢查目前網路狀態並做出對應回應。

以上是如何偵測 Android 中的網路連線變化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn