当WiFi和手机可用时强制移动网络连接
问题描述:
public class InternetConnectionControl {
private NetworkInfo networkInfo;
private NetworkInfo getNetworkInfo() {
if (networkInfo == null) {
ConnectivityManager _cm = ServiceUtil.getConnectivityManager(MyApplication.getContext());
networkInfo = _cm.getActiveNetworkInfo();
}
return networkInfo;
}
public void setNetworkInfo(NetworkInfo networkInfo) {
this.networkInfo = networkInfo;
}
private boolean isConnectedToWifi() {
NetworkInfo info = getNetworkInfo();
return (info != null && info.isConnectedOrConnecting() && info.getType() == ConnectivityManager.TYPE_WIFI);
}
private boolean isConnectedToMobile() {
NetworkInfo info = getNetworkInfo();
return (info != null && info.isConnectedOrConnecting() && info.getType() == ConnectivityManager.TYPE_MOBILE);
}
public boolean isConnectedToInternet() {
boolean isWifiConnected = isConnectedToWifi();
boolean isMobileConnected = isConnectedToMobile();
return isWifiConnected || isMobileConnected;
}
}
我可以检查在我的应用程序中是否有Wi-Fi或移动数据可用,但是如何在Wi-Fi和移动数据都处于活动状态时处理情况?在这种情况下,我如何强制使用移动网络?当WiFi和手机可用时强制移动网络连接
答
你不能在android 4.4之上强制移动数据开/关programaticaly。这个功能因安全原因停止,你可以请求用户使用对话框启用移动数据,然后如果他启用,你可以完成你的任务。