我正在尝试按需绑定到蜂窝网络(wifi 仍在运行)。我有以下代码:
override fun onAvailable(network: Network) {
super.onAvailable(network)
Toast.makeText(this@MainActivity, "CELLULAR READY", Toast.LENGTH_SHORT).show()
Log.e("darran", "network info is: " +connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE))
Log.e("darran", "network is metered: " +connectivityManager.isActiveNetworkMetered)
Log.e("darran", "bind is tru: " +connectivityManager.bindProcessToNetwork(network))
Log.e("darran", "bound network is: " +connectivityManager.boundNetworkForProcess)
GlobalScope.launch {
fetchIp(network)
}
}
当我尝试在 wifi 启动时绑定到蜂窝网络时,boundNetworkForProcess
不是蜂窝网络,而是 wifi 网络。
如果我禁用 wifi 网络,这将每次都有效。
我在以太网和wifi之间立即绑定也没有问题。即使网络可用,移动数据似乎也无法按需绑定。无论其他网络的状态如何,如何立即绑定到蜂窝网络?
完整的项目在这里: