問題:
我們能否監控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中文網其他相關文章!