如何在不使用adb命令的情况下了解通过USB连接到PC的Android设备的互联网连接?

时间:2017-03-07 12:14:25

标签: java android networking appium

请告诉我是否有办法知道通过USB连接到PC的互联网连接 而不使用adb命令。 我正在运行appium服务器来运行测试,我需要检查手机上的互联网连接,然后再进行测试。 有什么办法吗?请帮帮忙

3 个答案:

答案 0 :(得分:0)

在您的Android设备上启用USB网络共享,然后尝试ping任何网站并查看测试脚本的连接。

答案 1 :(得分:0)

Step 1: Add in manifest
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />

Step 2: Use belo method
public boolean isInternetAvailable() {
        try {
            InetAddress ipAddr = InetAddress.getByName("google.com"); 
            return !ipAddr.equals("");
        } catch (Exception e) {
            return false;
        }

    }

答案 2 :(得分:0)

将心爱的代码放在Manifest和java文件中,它将返回Net for On / Off

的布尔值
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />

     public static boolean isInternetOn(final Context context) {
            final boolean[] haveConnectedWifi = {false};
            final boolean[] haveConnectedMobile = {false};

            RxPermissions.getInstance(context)
                    .request(Manifest.permission.ACCESS_NETWORK_STATE)
                    .subscribe(aBoolean -> {
                        if (aBoolean) {
                            ConnectivityManager cm = (ConnectivityManager) context.getSystemService
                                    (Context.CONNECTIVITY_SERVICE);
                            NetworkInfo[] netInfo = cm.getAllNetworkInfo();
                            for (NetworkInfo ni : netInfo) {
                                if (ni.getTypeName().equalsIgnoreCase("WIFI"))
                                    if (ni.isConnected())
                                        haveConnectedWifi[0] = true;
                                if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
                                    if (ni.isConnected())
                                        haveConnectedMobile[0] = true;
                            }
                        }
                    });


            return haveConnectedWifi[0] || haveConnectedMobile[0];
        }

也加入gradle:

  compile 'com.tbruyelle.rxpermissions:rxpermissions:0.7.0@aar'