你可以考虑 Manifest 中的那些。
<receiver android:name="receiver.NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
但是,这些已被弃用。
相反,您可以以编程方式声明它。
- 创建一个接收器类。
class NetworkChangeReceiver : BroadcastReceiver() {
var dialog: Dialog? = null
override fun onReceive(context: Context, intent: Intent) {
val isConnected = NetworkUtil.getConnectivityStatusString(context)
Toast.makeText(context, "Intere State Changed: $isConnected", Toast.LENGTH_SHORT).show()
}
}
- 在你的
Activity
.
// Internet Check Receiver
val intentFilter = IntentFilter("android.net.conn.CONNECTIVITY_CHANGE")
this.registerReceiver(NetworkChangeReceiver(), intentFilter)