现在,Android的支持Wi -Fi的直接点对点点对点(P2P)Android系统的供电设备和其他类型的设备,没有一个热点或互联网连接之间的连接。Android框架提供了一套Wi - Fi的P2P的API,允许你去发现和连接到其他设备时,每个设备的Wi -Fi的直接支持,然后沟通跨越距离远远长于蓝牙连接迅速连接。
android.net.wifi.p2p,一个新的软件包,包含所有的API执行同行等连接与Wi - Fi。 你需要与主类是WifiP2pManager,您可以调用getSystemService(WIFI_P2P_SERVICE)收购。WifiP2pManager包括API,允许您:
1、您P2P连接的应用程序通过调用initialize
2、探索通过调用附近的设备discoverPeers
开始通过调用P2P连接connect以及一些其他的接口和类是必要的,如:
WifiP2pManager.ActionListener接口,让您能够接收的操作时,如发现同行或连接到他们的成功或失败的回调。
WifiP2pManager.PeerListListener界面,您可以收到有关发现同行的信息。 回调提供了一个WifiP2pDeviceList,您可以从中检索一个WifiP2pDevice范围内的每个设备对象和获取信息,如设备的名称,地址,设备类型,设备支持的WPS配置。
WifiP2pManager.GroupInfoListener界面,您可以收到一个P2P组信息。 回调提供了一个WifiP2pGroup对象,它提供了所有者,网络名称和密码的信息,如组。
WifiP2pManager.ConnectionInfoListener界面,您可以得到当前连接的信息。 回调提供了一个WifiP2pInfo对象,它具有信息,如一个组是否已经形成,谁是该组的所有者。
为了使用的Wi - Fi P2P的API,你的应用程序必须要求以下用户权限:
1、ACCESS_WIFI_STATE
2、CHANGE_WIFI_STATE
3、INTERNET (虽然你的应用程序不技术上连接到互联网,沟通的Wi - Fi标准的Java套接字直接同行需要Internet权限)。
Android系统还广播了几种不同的行动,在特定的Wi - Fi P2P事件:
1、WIFI_P2P_CONNECTION_CHANGED_ACTION :P2P连接状态发生了变化。这与EXTRA_WIFI_P2P_INFOWifiP2pInfo与EXTRA_NETWORK_INFONetworkInfo对象的对象EXTRA_NETWORK_INFOEXTRA_NETWORK_INFOEXTRA_WIFI_P2P_INFO EXTRA_WIFI_P2P_INFO 。
2、WIFI_P2P_STATE_CHANGED_ACTION :P2P的状态已经改变之间的启用和禁用。 它携带EXTRA_WIFI_STATE要么WIFI_P2P_STATE_DISABLED或WIFI_P2P_STATE_ENABLED
WIFI_P2P_PEERS_CHANGED_ACTION等设备的列表已经改变。
3、WIFI_P2P_THIS_DEVICE_CHANGED_ACTION :该设备的细节已经改变。
见的WifiP2pManager文档了解更多信息。 也期待在Wi - Fi的直接演示示例应用程序。
Wi-Fi Direct与ad-hoc模式有哪些不同?
Wi-Fi Direct将提供一个强大的发现功能,使其更易于使用。Wi-Fi Direct结合了Wi-Fi技术的若干重要创新,如更高的数据速率、企业管理能力、WMM? Quality of Service模式,以及点到点连接的电源管理协议。
两者在安全性上有所不同,Wi-Fi Direct采用WPA2(Wi-Fi Protection Access Version 2)加密,在Windows ad-hoc网络下,最高安全支持为WEP。不过Windows 7亦支持WPA2。
DIGITIMES中文网 原文网址: Wi-Fi Direct 10大问答http://gb-www.digitimes.com.tw/tw/dt/n/shwnws.asp?id=0000205310_A224IE390EPO7S191B4CM#ixzz1iDK5ewPn
两者在安全性上有所不同,Wi-Fi Direct采用WPA2(Wi-Fi Protection Access Version 2)加密,在Windows ad-hoc网络下,最高安全支持为WEP。不过Windows 7亦支持WPA2