安卓WIFI獲取列表並密碼連接 開發實例

安卓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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章