Android4.0 新増功能 WI-FI Direct

Wifi Direct技術簡介

Wi-Fi Direct標準是指允許無線網絡中的設備無需通過無線路由器即可相互連接。與 藍牙技術類似,這種標準允許無線設備以點對點形式互連,不過在傳輸速度與傳輸距離方面 則比藍牙有大幅提升。

Wi-Fi Direct技術特點

移動性與便攜性:Wi-Fi Direct設備能夠隨時隨地實現互相連接。由於不需要Wi-Fi 路由器或接入點,因此Wi-Fi設備可以在任何地點實現連接。

即時可用性:用戶將得以利用帶回家的第一部Wi-Fi Direct認證設備建立直接連接。 例如,一部新購買的Wi-Fi Direct筆記本可以與用戶已有的傳統Wi-Fi設備創建直接連接。

易用性:Wi-Fi Direct設備發現(Device Discovery )與服務發現(Service Discovery)功能幫助用戶確定可用的設備與服務,然後建立連接。例如,如果用戶想要打 印文件,他們可以通過上述服務瞭解到哪個Wi-Fi網絡擁有打印機。

簡單而安全的連接:Wi-Fi Direct設備採用Wi-Fi Protected Setup簡化了在設備 之間創建安全連接的過程。用戶可以按下任一設備上的按鈕,也可以輸入PIN碼(即設備顯 示的PIN碼),輕鬆創建安全連接。

 

Wi-Fi Direct 主要優點:傳輸速率高,兼容原有設備。

Wi-Fi Direct 主要缺點:耗電量高(較之藍牙)。

 

Android P2P源碼學習

WifiP2pSettings Wi Fi P2P設置

 

方法

解釋

mReceiver

處理接收到的各種Action方法:
WIFI_P2P_PEERS_CHANGED_ACTION:調用requestPeers
WIFI_P2P_CONNECTION_CHANGED_ACTION:獲得NetworkInfo,判斷是否爲連接狀態;
WIFI_P2P_THIS_DEVICE_CHANGED_ACTION:調用updateDevicePref

onCreate

創建時調用

獲得系統服務WifiP2pManager和 WifiP2pManager.Channel; mConnectListener/mDisconnectListener 爲 wifiP2pDialog 設置 Listener; setHasOptionsMenu(true)設置操作菜單

onResume()

註冊 mReceiver; discoverPeers()探索附近設備

onPause()

註銷 mReceiver;

onOptionsItemSelected

menu事件響應:
MENU_ID_SEARCHdiscoverPeers()探索附近設備;
MENU_ID_CREATE_GROUPcreateGroup()創建羣組;
MENU_ID_REMOVE_GROUPremoveGroup()移除羣組;
MENU_ID_ADVANCED: 未處理;

onPreferenceTreeClick

點擊一個設備,根據設備狀態彈出相關對話框

updateDevicePref

更新設備屬性
首先設置device的配置信息,然後調用
onPeersAvailable()方法更新UI

onPeersAvailable

更新UI



 

 

WifiP2pDialog方法

解釋

getConfig()

獲得P2P配置信息,獲得device地址和 wps

onCreate

創建時候調用,設置deviceaddressname等信息。



 

 

 

WifiP2pEnabler

方法

理解

mReceiver

處理接收到的各種Action方法:
WIFI_P2P_STATE_CHANGED_ACTION:調用方法
handleP2pStateChanged()進行處理

handleP2pStateChanged

根據狀態設置checkbox的屬性值

onPreferenceChange

根據checkbox的屬性變化,開啓/關閉wifi p2p

resume/pause

註冊/註銷mReceiver,設置/取消checkboxListener



 


 

 

 

WifiP2pPeer

方法

理解

onBindView

設置基本配置信息(名稱,地址,rssi和信號量的圖片),調
refresh()設置summary

compareTo

比較某device是否和本地的device相同

getLevel

獲得信號等級



 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章