在 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中文網其他相關文章!