UNPKG

cordova-plugin-wifi-direct

Version:
171 lines (146 loc) 4.43 kB
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.'); }); ```