cordova-plugin-wifi-direct
Version:
Android wifi direct.
171 lines (146 loc) • 4.43 kB
Markdown
Android Wifi Direct Cordova Plugin
========
wifi-direct的cordova插件。socket部分使用了OKSocket第三方库来做设备间的双工通信,支持文件传输。
引入插件
--------
在cordova项目下通过命令<cordova plugin add 插件项目的路径>,将插件引入cordova项目中,例如:
```
cordova plugin add https://github.com/wengtaotao/cordova-plugin-wifi-direct.git
```
***支持 Android SDK >= 21***
如何使用
--------
插件对象为:WifiDirect。在app准备就绪后,就可以直接使用这个代码来获取插件对象。例如:
```
onDeviceReady: function() {
wifiDirectNode = new WifiDirect();
}
```
## API介绍
### 方法
startDiscovering()
开始搜索支持wifi-direct的设备(配合监听事件discovered)。例如:
```
wifiDirectNode.startDiscovering();
```
stopDiscovering()
停止搜索设备(配合监听事件stopDiscovering)。例如:
```
wifiDirectNode.stopDiscovering();
```
connect(peer)
连接设备,参数为设备对象(设备对象从监听事件discovered中得到)(配合监听事件connection)。例如:
```
wifiDirectNode.connect(selectedDevice);
```
disconnect()
断开连接(配合监听事件disconnection)。例如:
```
wifiDirectNode.disconnect();
```
shutdown()
停止并退出(配合监听事件shutdown)。例如:
```
wifiDirectNode.shutdown();
```
createServer ()
创建服务器(配合监听事件createdServer)。例如
```
wifiDirectNode.createServer();
```
sendFileToServer(fileName, dataURL)
发送文件给服务器(配合监听事件sendFile、receivedFile)。例如:
```
wifiDirectNode.sendFileToServer(fileName,dataUrl);
```
sendFileToClient(uniqueTag, fileName, dataURL)
发送文件给客户端(配合监听事件sendFile、receivedFile)。例如:
```
wifiDirectNode.sendFileToClient(uniqueTag,fileName,dataUrl);
```
### 事件监听
discovered
搜索设备成功后会触发这个监听事件,回调函数中返回的参数是设备列表。例如:
```
wifiDirectNode.on('discovered', function(result){
console.log('discovered success.');
deviceList = result;
});
```
stopDiscovering
停止搜索设备成功后触发这个监听事件。例如:
```
wifiDirectNode.on('stopDiscovering', function(result){
console.log('stopDiscovering success.');
});
```
connection
连接设备成功后会触发这个监听事件。客户端和服务端的区别在于回调函数返回的结果不同,服务端返回的结果包含客户端的唯一标识uniqueTag。例如:
```
wifiDirectNode.on('connection', function(result){
if(result.uniqueTag){//服务端才有值
uniqueTag = result.uniqueTag;
}
console.log('connection success.');
});
```
disconnection
断开设备成功后会触发这个监听事件。客户端和服务端的区别在于回调函数返回的结果不同,服务端返回的结果包含客户端的唯一标识uniqueTag。例如:
```
wifiDirectNode.on('disconnection', function(result){
if(result.uniqueTag){//服务端才有值
uniqueTag = result.uniqueTag;
}
console.log('disconnection success.');
});
```
receivedFile
接收文件成功后会触发这个监听事件。回调函数返回的结果有文件名(fileName)、文件扩展名(extension)、文件路径(filePath),如果是服务端则多一个客户端唯一标识字段uniqueTag。例如:
```
wifiDirectNode.on('receivedFile', function(result){
var fileName = result.fileName;
var extension = result.extension;
var filePath = result.filePath;
if(result.uniqueTag){
uniqueTag = result.uniqueTag;
}
console.log('receive file success.');
});
```
sendFile
发送文件成功后会触发这个监听事件。例如:
```
wifiDirectNode.on('sendFile', function(result){
console.log('send file success.');
});
```
shutdown
停止并退出成功后会触发这个监听事件。例如:
```
wifiDirectNode.on('shutdown', function(result){
console.log('shutdown success.');
});
```
createdServer
创建服务器成功后会触发这个监听事件。例如:
```
wifiDirectNode.on('createdServer', function(result){
console.log('created server success.');
});
```