我正在尝试从移动数据连接 (3G/4G) 强制转移到 wifi 连接。
然而,这似乎在 Lollipop 中有效,但是对于棉花糖来说,网络连接可用性的回调并没有到来。
final ConnectivityManager connectivityManager
= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (networkType() != ConnectivityManager.TYPE_WIFI) {
NetworkRequest.Builder request = new NetworkRequest.Builder();
request.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
connectivityManager.registerNetworkCallback(request.build(), new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
if (SDK_INT >= LOLLIPOP && SDK_INT <= M) {
ConnectivityManager.setProcessDefaultNetwork(network);
} else if (SDK_INT > M) {
connectivityManager.bindProcessToNetwork(network);
}
}
});
有什么我想念的吗?
本质上,我想转移到 wifi,以便我可以连接到可用的强制网络。从移动数据转移到 Wifi 是我尝试做的第一步。