Android 获取网络信息状态:即使手机已连接,也已断开/阻止

Android 获取网络信息状态:即使手机已连接,也已断开/阻止,android,connect,Android,Connect,我已通过以下代码了解internet连接。当应用程序处于前台时,NetworkInfo连接状态为已连接,但应用程序处于后台或已终止状态,即使手机已连接3G,连接状态也为已断开/阻止 我查看了stackoverflow,但这个问题没有答案 public class InternetConnectionControl { private NetworkInfo networkInfo; private NetworkInfo getNetworkInfo() {

我已通过以下代码了解internet连接。当应用程序处于前台时,
NetworkInfo
连接状态为已连接,但应用程序处于后台或已终止状态,即使手机已连接3G,连接状态也为已断开/阻止

我查看了stackoverflow,但这个问题没有答案

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

  • 从设置中输入电池
  • 单击未受监控的应用程序
  • 添加你的应用程序

  • 步骤2

  • 从设置中输入应用程序
  • 点击你的应用程序
  • 利用移动数据
  • 在数据保存程序打开时启用允许应用程序