今天小黑人要與大家分享的是"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服務控制Manager
WifiManager 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嗎? 感激不盡