在我的使用案例中,wifi将始终打开并连接到已定义的SSID。 但我想在启用wifi的同时使用来自蜂窝网络(3G / 4G)的互联网。 我尝试了 connection_manager.bindProcessToNetwork(网络); ,但它迫使应用程序仅使用来自手机网络(4G)的互联网几秒钟,手机再次从wifi开始使用互联网。
有没有办法从Cell网络而不是wifi上使用互联网?
NetworkRequest.Builder request = new NetworkRequest.Builder();
request.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
request.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
connection_manager.requestNetwork(request.build(), new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
//super.onAvailable(network);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
connection_manager.bindProcessToNetwork(network);
}
}
});