首頁 > Java > java教程 > 如何使用廣播接收器可靠地偵測 Android 應用程式中的網路連線變化?

如何使用廣播接收器可靠地偵測 Android 應用程式中的網路連線變化?

Patricia Arquette
發布: 2024-12-20 10:41:09
原創
266 人瀏覽過

How Can I Reliably Detect Internet Connectivity Changes in My Android App Using Broadcast Receivers?

用於在 Android 應用程式中檢查互聯網連接的廣播接收器

在 Android 應用程式中,廣播接收器用於監視系統或特定事件的變化。一個常見的用例是檢查互聯網連接。但是,在某些情況下,可能需要將接收器的呼叫限制在網路連線可用的實例中。

問題:重複的廣播接收器呼叫

遇到的常見挑戰是接收器即使網路可能不可用,也會被呼叫兩次。這可以歸因於在接收者的清單聲明中添加了多個意圖過濾器。要解決此問題,只需使用一項操作來更改網路連線即可,例如:

<intent-filter>
    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
登入後複製

檢查網路可用性

要解決第二個問題,接收者應該僅在網路連線可用時觸發,提供的程式碼有效地滿足了此要求。它監視 WiFi 和行動網路的可用性,並且僅在其中任何一個已連接時發出通知。

附加說明

要使用更簡單的方法來驗證互聯網連接,請考慮以下函數:

public boolean isOnline(Context context) {

    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    //should check for null as it will be null in airplane mode
    return (netInfo != null && netInfo.isConnected());
}
登入後複製

此方法提供了一種簡潔的方法來確定行動裝置是否連接到網路。

以上是如何使用廣播接收器可靠地偵測 Android 應用程式中的網路連線變化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板