背景
硬件设备有时候断网或者网络不佳的时候,需要做出相应逻辑,比如跳转到网络异常界面,或者从网络异常界面恢复,当然也可能只是简单的提示。
第一步
写receiver
//这里传入了一个全局的livedata参数过来
class NetworkReceiver(private val liveNetInfo: MutableLiveData<NetworkInfo?>) :
BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
context ?: return LogUtils.e("网络广播 Context Cannot be null")
intent ?: return LogUtils.e("网络广播 Intent Cannot be null")
//获得ConnectivityManager对象
val connMgr = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
//获取所有网络连接的信息
val networks