监听网络连接状态
监听网络连接状态
通过注册网络回调 (NetworkCallback),可以动态监控 Wi-Fi 的连接状态。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val networkCallback = object : ConnectivityManager.NetworkCallback() {
override fun onAvailable(network: Network) {
val networkCapabilities = connectivityManager.getNetworkCapabilities(network)
if (networkCapabilities?.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) == true) {
Log.d("WiFi", "Wi-Fi network is available")
}
}
override fun onLost(network: Network) {
Log.d("WiFi", "Wi-Fi network is lost")
}
}
val request = NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.build()
connectivityManager.registerNetworkCallback(request, networkCallback)结束时调用反注册
1
connectivityManager.unregisterNetworkCallback(networkCallback)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Fleming's Blog!






