当WiFi和手机可用时强制移动网络连接

当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。这个功能因安全原因停止,你可以请求用户使用对话框启用移动数据,然后如果他启用,你可以完成你的任务。