2017年3月22日 星期三

Wi-Fi

Wi-Fi


Wi-Fi :無線網路。


     android 提供WifiManager API 來管理Wi-Fi 連線, 還需要getSystemService方法。


  WifiManager mainWifiObj;

mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);




   為了掃描無線網路列表,需要註冊BroadcastReceiver,再利用registerReceiver取回Wi-Fi。


 class WifiScanReceiver extends BroadcastReceiver {
   public void onReceive(Context c, Intent intent) {
   }
}

 WifiScanReceiver wifiReciever = new WifiScanReceiver();

 registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

  




    Wi-Fi掃描器掃描到可以連到的Wi-Fi,startScan開啟。此方法是來取得ScanResult 列表。可以用get方法取得。


 List<ScanResult> wifiScanList = mainWifiObj.getScanResults();
String data = wifiScanList.get(0).toString(); 
   
    get(0)--->取得第一個找到的Wi-Fi




  WifiManager可以定義的方法


    addNetwork(WifiConfiguration config):通過獲取到的網的連接狀態信息,來增加網路

 createWifiLock(String tag):建立新的WifiLock(Wifi鎖)

    disconnect():取消連線。

 enableNetwork(int netId, boolean disableOthers):允許之前連接的網路。

     getWifiState():取得Wifi啟用狀態。

     isWifiEnabled():判斷是否啟動Wifi。

   setWifiEnabled(boolean enabled):設定啟動或禁用Wifi。

     updateNetwork(WifiConfiguration config)
       更新網路的訊息。

記得在AndroidManifest.xml 加入

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />



 參考文獻

Android - Wi-Fi
https://www.tutorialspoint.com/android/android_wi_fi.htm

Android無線網絡教程
http://www.w3ii.com/zh-TW/android/android_wi_fi.html

android WIFI連接開發
http://fecbob.pixnet.net/blog/post/39248623-android-wifi%E9%80%A3%E6%8E%A5%E9%96%8B%E7%99%BC

android連接wifi相關知識
https://read01.com/2dAx4.html

Android Wi-Fi基本操作
https://read01.com/dO8O7.html

WakeLock使用方法示例代碼
http://fecbob.pixnet.net/blog/post/35499474-wakelock%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A2%BC

【Android學習筆記】WIFI控制(開啟、關閉)
https://ryanisagoodguy.blogspot.tw/2016/03/androidwifi.html

Android開發——自動連接指定SSID的wifi熱點(不加密/加密)
http://fanli7.net/a/JAVAbiancheng/JAVAzonghe/20121025/242371.html

201105312000Android - 取得WIFI相關資訊
http://blog.xuite.net/mp600.fh/skill/46032828-Android+-+%E5%8F%96%E5%BE%97WIFI%E7%9B%B8%E9%97%9C%E8%B3%87%E8%A8%8A

Android-WiFi-Connection-Demo-Code-Sample
https://github.com/theappguruz/Android-WiFi-Connection-Demo-Code-Sample

Scan wifi for connections or Get number of available wifi connections
http://androidexample.com/Scan_wifi_connections_or_Get_number_of_available_wifi_connections/index.php?view=article_discription&aid=90

Android - WiFi Connection Demo
http://www.theappguruz.com/blog/android-wifi-connection-demo



沒有留言:

張貼留言