| 今天小黑人要與大家分享的是"Wi-Fi",哈哈~光說Wi-Fi好像範圍太廣了一點,簡單來說今天小黑人是要說如何運用APP控制"Wi-Fi的開啟"、"Wi-Fi的關閉"、"Wi-Fi的偵測"、"Wi-Fi的連線",其中偵測這部分是包含掃描現在的環境下有哪些Wi-Fi訊號,以及查看手機內部已存的Wi-Fi連線資訊,也就是在APP裡做手機設定裡的Wi-Fi連線設定,當然在手機內部設定裡皆可以完成這些動作,但如果自製一個Wi-Fi掃描器相對的也較為靈活不會有太多的限制,至於要怎麼開發Wi-Fi的一些運用呢?就讓小黑人與大家繼續看下去吧~ ^^ | 
  
    |  | 
  
    | 1.首先要在AndroidManifest.xml加入Wi-Fi讀取權限與更改Wi-Fi權限 : | 
  
    | <uses-permission  android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission  android:name="android.permission.CHANGE_WIFI_STATE"/>
 | 
  
    |  | 
  
    | 2.接下來就是在程式端(.java)控制Wi-Fi的設定囉 : | 
  
    | P.S.小黑人在這裡放置3個按鈕,分別是"Wi-Fi偵測","Wi-Fi連線","Wi-Fi斷線" : | 
  
    | //首先取得Wi-Fi服務控制ManagerWifiManager mWifiManager = (WifiManager)  getSystemService(Context.WIFI_SERVICE);
 
 ※ Wi-Fi偵測 :
 //先判斷是否有開啟Wi-Fi,有開啟則回傳true沒有則回傳false
 if(mWifiManager.isWifiEnabled())
 {
 //重新掃描Wi-Fi資訊
 mWifiManager.startScan();
 //偵測周圍的Wi-Fi環境(因為會有很多組Wi-Fi,所以型態為List)
 mWifiScanResultList = mWifiManager.getScanResults();
 //手機內已存的Wi-Fi資訊(因為會有很多組Wi-Fi,所以型態為List)
 mWifiConfigurationList =  mWifiManager.getConfiguredNetworks();
 //目前已連線的Wi-Fi資訊
 mWifiInfo =  mWifiManager.getConnectionInfo();
 
 for(int i = 0 ; i <  mWifiScanResultList.size() ; i++ )
 {
 //手機目前周圍的Wi-Fi環境
 SSID (Wi-Fi名稱) = mWifiScanResultList.get(i).SSID ;
 LEVEL (Wi-Fi訊號強弱) = mWifiScanResultList.get(i).level) ;
 }
 
 for(int i = 0 ; i <  mWifiConfigurationList.size() ; i++ )
 {
 //手機內已儲存(已連線過)的Wi-Fi資訊
 SSID (Wi-Fi名稱) = mWifiConfigurationList.get(i).SSID ;
 NETWORKID (Wi-Fi連線ID) = mWifiConfigurationList.get(i).networkId ;
 }
 
 //目前手機已連線(現在連線)的Wi-Fi資訊
 SSID (Wi-Fi名稱) = mWifiInfo.getSSID() ;
 NETWORKID (Wi-Fi連線ID) = mWifiInfo.getNetworkId() ;
 IPADRRESS (Wi-Fi連線位置) = mWifiInfo.getIpAddress() ;
 IP (Wi-Fi IP位置) = String.format("%d.%d.%d.%d",  (IPADRRESS & 0xff), (IPADRRESS >> 8 & 0xff), (IPADRRESS >>  16 & 0xff),( IPADRRESS >> 24 & 0xff)) ;
 }
 else
 {
 //把Wi-Fi開啟
 mWifiManager.setWifiEnabled(true);
 Toast.makeText(MainActivity.this,  "Wi-Fi開啟中", Toast.LENGTH_SHORT).show();
 }
 
 ※ Wi-Fi連線 :
 //選擇欲連線的Wi-Fi ID帶入即可進行連線
 int NETWORKID = 已連線過的Wi-Fi ID ;
 mWifiManager.enableNetwork(NETWORKID,true);
 
 ※ Wi-Fi中斷 :
 //中斷目前的Wi-Fi連線訊號
 mWifiManager.disconnect();
 
 | 
  
    |  | 
  
    | 以上就是簡單的Wi-Fi運用,當然其中還有很多Wi-Fi資訊與功能,如偵測時還可以判斷Wi-Fi是否為開放的或密碼加密格式等其他資訊,連線部分小黑人今天是介紹連已連線過的Wi-Fi,當然連線部分還要有連沒連線過的Wi-Fi,或者是刪除手機內的Wi-Fi資訊...等等功能,這些部分都較為進階功能,小黑人在之後的文章裡會再與大家分享Wi-Fi運用進階版 ^^ ,本篇文章以簡單的Wi-Fi運用向大家說明,大家可以試試看唷 XDD | 
  
    |  | 
  
    | 如有任何問題都可以和小黑人一起交流討論喔~謝謝大家~! ^^ | 
  
    |  | 
Great beat ! I would like to apprentice while you amend your web site, how can
回覆刪除i subscribe for a blog web site? The account aided me a
acceptable deal. I had been a little bit acquainted of this your broadcast
provided bright clear concept
my site :: vintage clothing & accessories
Hi there, I have already activated the subscription function of my blog. Please feel free to share with me your ideas and thanks a lot for the reminder and supports.
刪除版主您好
刪除我最近想做一個判斷 "行動網路測速" 和 "WIFI網路測速"
判斷完後,假設行動網路較快就以行動網路上網,不知版主可以給點建議或分享一些code嗎? 感激不盡