我如何检查我的设备是否与互联网连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何检查我的设备是否与互联网连接相关的知识,希望对你有一定的参考价值。

如何检查我的设备是否与互联网连接。

我有android设备,因为我启动wifi数据,但在那个wifi数据是本地网络但仍然显示你的互联网连接打开,而实际上不是。

那么如何通过I检查来检查这个类的互联网连接类 我会给你代码进行互联网连接检查

public class NetworkUtil {

    public static int TYPE_WIFI = 1;

    public static int TYPE_MOBILE = 2;

    public static int TYPE_NOT_CONNECTED = 0;

    public static int getConnectivityStatus(Context context) {

        if (Build.VERSION.SDK_INT >= 9) {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();

        if (cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isAvailable() && cm.getActiveNetworkInfo().isConnected()) {

            return TYPE_WIFI;

        } else {

            return TYPE_NOT_CONNECTED;
        }

    }

    public static String getConnectivityStatusString(Context context) {
        int conn = NetworkUtil.getConnectivityStatus(context);
        String status = null;
        if (conn == NetworkUtil.TYPE_WIFI) {
            status = "Wifi enabled";
        } else if (conn == NetworkUtil.TYPE_MOBILE) {
            status = "Mobile data enabled";
        } else if (conn == NetworkUtil.TYPE_NOT_CONNECTED) {
            status = "Not connected to Internet";
        }
        return status;
    }

    public static boolean isInternetWorking() {
        boolean success = false;
        try {
            URL url = new URL("https://google.com");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setConnectTimeout(10000);
            connection.connect();
            success = connection.getResponseCode() == 200;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return success;
    }
} 
答案

请使用以下方法检查互联网连接。

private boolean isNetworkConnected() {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

    return cm.getActiveNetworkInfo() != null;
}
另一答案

0表示没有互联网1意味着互联网

private int checkInternetConnectivity() {
        ConnectivityManager conMgr = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = conMgr.getActiveNetworkInfo();
        if (netInfo == null) {
            return 0;
        } else {
            return 1;
        }
    }
另一答案

在课堂上使用这种方式

     NetworkUtil networkUtil=new NetworkUtil(this)
     if(networkUtil.isInternetWorking()){
     Toast.makeText(this, "Connected", Toast.LENGTH_SHORT).show();
     }else{
     Toast.makeText(this, "Not Connected", Toast.LENGTH_SHORT).show();
     }
另一答案

您可以通过以下代码轻松检查Internet连接:

ConnectivityManager ConnectionManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = ConnectionManager.getActiveNetworkInfo();
        if (networkInfo != null && networkInfo.isConnected() ) {

             //Connected
        } else {
            //Not connected
        }

不要忘记在Manifest中声明权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
另一答案

上课: -

public class ConnctionDetector 

{

ConnectivityManager connectivityManager;

Context context;

NetworkInfo info;

public ConnctionDetector(Context context)
{
    this.context=context;
}
public boolean checkin(Context context)
{
    boolean flag = false;
    try {
        connectivityManager = (ConnectivityManager) 
context.getSystemService(Context.CONNECTIVITY_SERVICE);
        info = connectivityManager.getActiveNetworkInfo();

        if (info.getType() == ConnectivityManager.TYPE_WIFI)
        {
            System.out.println(info.getTypeName());
            flag = true;
        }
        if (info.getType() == ConnectivityManager.TYPE_MOBILE)
        {
            System.out.println(info.getTypeName());
            flag = true;
        }
    } catch (Exception exception) {
        System.out.println("Exception at network connection....."
                + exception);
    }
    return flag;
}
}

以及如何检查: -

boolean checkconnection = new 
ConnctionDetector(getApplicationContext()).checkin(getApplicationContext());

if (!checkconnection) {
                Toast.makeText(getApplicationContext(), "No Internet 
Connection", Toast.LENGTH_SHORT).show();
}

以上是关于我如何检查我的设备是否与互联网连接的主要内容,如果未能解决你的问题,请参考以下文章

如何在 android 中检查我的 android 设备是不是有互联网连接? [复制]

android根据互联网连接更改视图

如何检查设备是不是已连接 Pyserial

如何在 API 级别 21 以下的设备中检查 NO INTERNET

如何在代码中检查我的设备是不是支持连接的最大蓝牙?

如何在Android中检查网络内的互联网连接(通过HOTSPOT使用其他设备的互联网)