安卓WIFI获取列表并密码连接 开发实例

版权声明:本文为博主原创文章,大家可以转载分享学习 https://blog.csdn.net/qq_31469369/article/details/79938623

安卓WIFI获取列表并密码连接 开发实例

标签(空格分隔): 未分类


最近在做关于智能控制的app,用到wifi控制,简单配置并获取过程 记录如下:

  1. 用WiFi首先要获取wifi列表 ,然后去连接wifi
    和我们手机设置操作相同,首先要确认是否打开wifi开关吧,判断用wifiManager.isWifiEnabled()方法;
    用到几个权限

    < uses-permission android:name=”android.permission.CHANGE_NETWORK_STATE” >
    < /uses-permission>
    < uses-permission android:name=”android.permission.CHANGE_WIFI_STATE” >
    < /uses-permission>
    < uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” >
    < /uses-permission>
    < uses-permission android:name=”android.permission.ACCESS_WIFI_STATE” >
    < /uses-permission>

    我这里也是边操作边记录,下面准备用dialog的listview来记录wifi列表。
    写一个点击事件,打开wifi 获取列表,弹出dialog显示列表信息。
    我是在fragment中获取wfiimanger 需要在appca
    1111.png-27.6kB
    获取WiFi列表,
    wifiManager.startScan(); //开启扫描
    scanResults = wifiManager.getScanResults();
    测试出现返回结果为空,因为6.0以6.0以上wifi获取权限 点击查看上的权限问题
    关于6.0以上权限问题的文章
    setWifiEnabled()的方法,打开关闭前,先要判断wifi的状态,使用isWifiEnabled()方法。

    所以6.0版本以上需要打开用户gps开关,

    需要这个权限,然而只有系统app才有,所以只有手动引导用户自己打开了。。
    才能显示wifi列表 。。坑

    widi开关事件里的代码:

    `
                    boolean bRet = true;
    //                    if (!wifiManager.isWifiEnabled()) {
    //                        bRet = wifiManager.setWifiEnabled(true);
    //                }
                Wifiadmin.checkState(getActivity());
                Wifiadmin.openWifi(getActivity());
               // WifiUtil.openGPS(getActivity());
               Wifiadmin.startScan(getActivity()); //开启扫描
               scanResults= Wifiadmin.getWifiList();
                final String[] items=new String[scanResults.size()];
               // List
                Toast.makeText(getActivity(),""+items.length,Toast.LENGTH_SHORT).show();
                for(int i=0;i

猜你喜欢

转载自blog.csdn.net/qq_31469369/article/details/79938623
今日推荐