网络信息状态为:即使已连接电话,也已断开/已阻止

时间:2018-10-26 12:52:34

标签: android connect

我通过使用以下代码了解互联网连接。当应用程序为前台时,NetworkInfo的连接状态为CONNECTED,但应用程序为后台或已终止,即使电话已连接3G,连接状态也为DISCONNECTED/BLOCKED

我通过stackoverflow看了another questions,但这个问题没有答案。

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;

    }
}

1 个答案:

答案 0 :(得分:1)

您的设备是三星吗?三星具有省电模式,您必须允许以下方式运行您的应用程序:

第1步

  1. 从“设置”中输入电池
  2. 点击的不受监视的应用程序
  3. 添加您的应用

第二步

  1. 从设置输入应用
  2. 点击您的应用
  3. 点击移动数据
  4. 启用“数据保护程序”时启用“允许”应用