[Android] 監聽系統網路連線開啟或者關閉的訊息
阿新 • • 發佈:2019-01-26
很簡單,所以直接看程式碼。
package xxx;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetstateReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager manager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo gprs = manager .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); NetworkInfo wifi = manager .getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (!gprs.isConnected() && !wifi.isConnected()) { // network closed } else { // network opend
}
}
}
程式碼自定義了一個BroadcastReceiver,是想監聽網路設定變化的事件。
Manifest檔案裡註冊監聽。
<receiver android:name="xxx.NetstateReceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver>
還需要加入許可權資訊。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />