Question:
Can we monitor network connectivity changes on an Android device and capture events when the network goes offline?
Answer:
Yes, it is possible to listen for network connectivity changes in Android. Here's a detailed implementation:
1. Create a Broadcast Receiver:
<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. Declare Permission:
<code class="xml"><!-- Required to monitor network connectivity changes --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /></code>
3. Register Receiver in 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>
Explanation:
The broadcast receiver registers itself to listen for "CONNECTIVITY_CHANGE" broadcasts from the system. When the network status changes, the onReceive() method is triggered, and the receiver can check the current network state and respond accordingly.
The above is the detailed content of How to Detect Network Connectivity Changes in Android?. For more information, please follow other related articles on the PHP Chinese website!