Android中的WiFi P2P能够允许一定范围内的设备通过Wifi直接互连而不必通过热点或互联网。
使用WiFi P2P需要Android API Level >= 14才可以,而且不要忘记在Manifest文件中加入下面5个权限:
● android.permission.ACCESS_WIFI_STATE
● android.permission.CHANGE_WIFI_STATE
● android.permission.ACCESS_NETWORK_STATE
● android.permission.CHANGE_NETWORK_STATE
● android.permission.INTERNET (WiFi P2P并不需要连接互联网,但是因为要用到Java Socket,所以要加这个权限)
关于WiFi P2P的操作几乎都靠WifiP2pManager来进行,所以如果你的程序要用到WiFi P2P功能,可以设置一个全局变量wifiP2pManager,然后在onCreate()生命函数中获取系统WifiP2pManager对象:
wifiP2pManager = (WifiP2pManager) getApplicationContext().getSystemService(Context.WIFI_P2P_SERVICE);
WifiP2pManager有如下方法可以很方便的进行P2P操作:
方法 | 功能 |
---|---|
initialize() |
在使用WiFi P2P功能时必须先调用这个方法,用来通过WiFi P2P框架注册我们的应用 |
connect() |
根据配置(WifiP2pConfig对象)与指定设备(WifiP2pDevice对象)进行P2P连接 |
cancelConnect() |
关闭某个P2P连接 |