我的清单
<receiver android:name=".ui.receiver.NetworkChangeReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
和NetworkChangeReceiver类
class NetworkChangeReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val connMgr = context?.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val activeNetwork: NetworkInfo? = connMgr.activeNetworkInfo
val isConnected: Boolean? = activeNetwork?.isConnected
if(isConnected == null) {
Timber.d("Test Checked is Connected null ")
} else {
Timber.d("Test Checked Network is Connected !! ")
}
}
}
我将在这里检测网络。
如果mainViewModel检测到我在这里检测到的内容,我正在尝试显示图像,但我不知道该怎么办
正在使用实时数据对图像进行可视化,如果网络在此处发生变化,我想在MainView模型中更改图像的可见性。
Application
类。要么包含LiveData
,要么引用共享的ViewModel
。您可以从Application
]中使用context.getApplicationContext()
访问NetworkChangeReceiver