[android开发篇][ wifi模块] [3] wifiConnectAndCheck

package com.softwinner.network.wifi;

import android.content.Context;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.support.test.InstrumentationRegistry;
import android.support.test.uiautomator.UiDevice;
import android.util.Log;

import org.junit.Test;

import java.util.List;

import static org.junit.Assert.assertTrue;

/**
 * @author liuzhipeng
 * Created by Administrator on 2017/7/24.
 */

public class connectAndCheckByJavaInterface {

    private UiDevice mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
    private String ssid = "AW2";
    private String password = "[email protected]";
    private String mLogTag = "testWifi";
    private Context context = InstrumentationRegistry.getContext();

    wifiBaseClass testWifi = new wifiBaseClass(context, mDevice, ssid, password, mLogTag);

    @Test
    public void addNetWorkAndConnect() throws Exception {
        Log.i(mLogTag, "start add network");
        testWifi.addNetworkAndConnect(wifiBaseClass.Security.PSK);
        for(int i = 1; i < 11; i++)
        {
            Thread.sleep(6000);
            Log.i(mLogTag, String.format("wait for wifi connected, run time %d second", 6 * i));
            if(wifiBaseClass.isWifiConnected())
            {
                Log.i(mLogTag, "wifi isConnected = " + wifiBaseClass.isWifiConnected());
                break;
            }
            if(i == 10){
                Log.i(mLogTag, "wifi connected fail");
                assertTrue(false);
            }
        }
        String wifiName = testWifi.getNetworkName();
        Log.i(mLogTag, "wifiName = " + wifiName);
        assertTrue("wifi name not equal" + ssid, wifiName.equals(ssid));
        String cmd = "ping -c 4 -w 5 www.baidu.com";
        Boolean isNetworkAvailable = testWifi.isNetworkAvailableByDevice(cmd);
        assertTrue("network is unavailable", isNetworkAvailable);
        Log.i(mLogTag, "isNetworkAvailable = " + isNetworkAvailable);

    }
}
时间: 2024-10-28 16:06:25

[android开发篇][ wifi模块] [3] wifiConnectAndCheck的相关文章

[android开发篇][ wifi模块] [2] wifibase

package com.softwinner.network.wifi; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration;

3-(微信小程序篇)WiFi模块配网以后利用小程序绑定,控制设备,一次只能绑定控制一个设备

https://www.cnblogs.com/yangfengwu/p/11623750.html 一,实现的功能描述 STM32通过AT指令控制模块配网(支持SmartConfig和Airkiss),配网以后设备进入绑定状态(60S超时),在设备绑定超时时间内打开小程序即可绑定设备,然后实现控制功能. 二,功能测试 1,由于会不停的更新小程序代码,小程序发布又需要时间审核,我就不发布小程序,所以大家先按照以下方式运行小程序(熟悉一下流程) 1.1 打开小程序工程代码 1.2 选择真机调试,选

[android开发篇][android studio 和elipse都需要的流程 android sdk的安装

第三步.下载并安装AndroidSDK 前面两步,我们已经配置了JDK变量环境,并安装好了Eclipse,通过这两步之后Java的开发环境就准备好了,如果我们只是开发普通的JAVA应用程序的话,那么到这里就可以了.但如果我们要通过Eclipse来开发Android应用程序的话,那么我们还需要下载Android SDK(Software Development Kit)和在Eclipse上安装ADT插件. 首先,下载Android SDK Tools,翻过墙的朋友可以去Google Android

Android开发中WIFI和GPRS网络的切换

在项目的开发中因为要使用到WIFI和GPRS网络的切换,因此就研究了一下通过代码打开WIFI和GPRS的工作. 无论是切换WIFI还是切换GPRS网络都需要设置相应的权限,所以需要在AndroidManifest.xml文件中加入以下几行代码. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="andro

[android开发篇]权限分类:正常权限和危险权限

https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous 系统权限 本文内容 安全架构 应用签署 用户 ID 和文件访问 使用权限 正常权限和危险权限 权限组 定义和实施权限 自定义权限建议 ...在 AndroidManifest.xml 中 ...发送广播时 其他权限实施 URI 权限 关键类 Manifest.permission Manifest.permission_gro

[android开发篇]activity组件篇

https://developer.android.com/guide/components/activities.html Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话.拍摄照片.发送电子邮件或查看地图等操作. 每个 Activity 都会获得一个用于绘制其用户界面的窗口.窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上. 一个应用通常由多个彼此松散联系的 Activity 组成. 一般会指定应用中的某个 Activity 为"主"Activi

[android开发篇] 权限列表

一.Android权限列表: 那么,Android中有哪些受限制性访问的特性呢?具体的特性对应所需要的权限名称又是什么呢?具体可以在Android官方文档中查的. http://developer.android.com/reference/android/Manifest.permission.html 需要注意的是,不同的权限可能对应了不同的API等级,因此,可能会出现兼容性问题. 常量 String ACCESS_CHECKIN_PROPERTIES 允许读取"属性"表/写访问在

[android开发篇]使用系统权限流程

1 声明权限https://developer.android.com/training/permissions/declaring.html 每款 Android 应用都在访问受限的沙盒中运行.如果应用需要使用其沙盒外的资源或信息,则必须请求相应权限.您可以在应用清单中列出相应的权限,声明应用需要此权限. 根据权限的敏感性,系统可能会自动授予权限,或者需要由设备用户对请求进行许可.例如,如果您的应用请求打开设备手电筒的权限,系统将自动授予该权限.但如果您的应用需要读取用户联系人,系统会要求用户

[android开发篇]elicpse安装教程

http://www.runoob.com/eclipse/eclipse-install.html Eclipse 安装(Neon 版本) Eclipse 最新版本 Eclipse Neon,这个首次鼓励用户使用 Eclipse Installer 来做安装,这是一种由Eclipse Oomph提供的新技术,它通过提供一个很小的安装器来使得各种工具可以按需下载和安装. Eclipse 是基于 Java 的可扩展开发平台,所以安装 Eclipse 前你需要确保你的电脑已安装 JDK. 若你打开