2017-10-17 150 views
0
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和手機可用時強制移動網絡連接

回答

0

你不能在android 4.4之上強制移動數據開/關programaticaly。這個功能因安全原因停止,你可以請求用戶使用對話框啓用移動數據,然後如果他啓用,你可以完成你的任務。

相關問題