用于 cordova windows 平台的 WiFI Direct
WiFI Direct for cordova windows platform
我需要使用 wifi direct 连接 windows 设备。我们的应用程序是 cordova 应用程序。以下是我编写的 wifi 直接广告代码。完整代码执行无误,执行 start()
后 m_Publisher
状态改变。但是其他设备还是看不到WiFi Direct设备。
function enableStartWiFiDirect() {
var Api_DeviceName = Windows.Networking.Proximity.PeerFinder.displayName;
m_Publisher = Windows.Devices.WiFiDirect.WiFiDirectAdvertisementPublisher();
m_Listener = new Windows.Devices.WiFiDirect.WiFiDirectConnectionListener();
m_Listener.addEventListener("onconnectionrequested", onConnectionRequested);
m_Publisher.advertisement.IsAutonomousGroupOwnerEnabled = false;
m_Publisher.advertisement.ListenStateDiscoverability =
Windows.Devices.WiFiDirect.WiFiDirectAdvertisementListenStateDiscoverability.Normal;
var IE = new Windows.Devices.WiFiDirect.WiFiDirectInformationElement();
// IE blob
var dataWriter = new Windows.Storage.Streams.DataWriter();
dataWriter.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf16LE;
dataWriter.writeString(Api_DeviceName);
IE.Value = dataWriter.detachBuffer();
// OUI
var dataWriterOUI = new Windows.Storage.Streams.DataWriter();
dataWriterOUI.writeBytes([0xAA, 0xBB, 0xCC]);//(Globals.CustomOui);
IE.Oui = dataWriterOUI.detachBuffer();
IE.ouiType = 12;//(byte)Api_DeviceName.Length;
m_Publisher.advertisement.informationElements.push(IE);
m_Publisher.start();
console.log('WiFi Direct Started');
return "Advertisment started sucessfully";
}
希望有人能帮我解决这些问题。任何帮助将不胜感激
我可以在 cordova 应用程序中从下面开始 WiFi Direct 广告。
startAdvertisment: function (successCallback, errorCallback, args) {
if (publisher === null) {
publisher = Windows.Devices.WiFiDirect.WiFiDirectAdvertisementPublisher();
}
if (listener===null) {
listener = new Windows.Devices.WiFiDirect.WiFiDirectConnectionListener();
listener.onconnectionrequested = OnConnectionRequested;
}
publisher.advertisement.isAutonomousGroupOwnerEnabled = false;
publisher.advertisement.listenStateDiscoverability =
Windows.Devices.WiFiDirect.WiFiDirectAdvertisementListenStateDiscoverability.normal;
publisher.start();
}
我需要使用 wifi direct 连接 windows 设备。我们的应用程序是 cordova 应用程序。以下是我编写的 wifi 直接广告代码。完整代码执行无误,执行 start()
后 m_Publisher
状态改变。但是其他设备还是看不到WiFi Direct设备。
function enableStartWiFiDirect() {
var Api_DeviceName = Windows.Networking.Proximity.PeerFinder.displayName;
m_Publisher = Windows.Devices.WiFiDirect.WiFiDirectAdvertisementPublisher();
m_Listener = new Windows.Devices.WiFiDirect.WiFiDirectConnectionListener();
m_Listener.addEventListener("onconnectionrequested", onConnectionRequested);
m_Publisher.advertisement.IsAutonomousGroupOwnerEnabled = false;
m_Publisher.advertisement.ListenStateDiscoverability =
Windows.Devices.WiFiDirect.WiFiDirectAdvertisementListenStateDiscoverability.Normal;
var IE = new Windows.Devices.WiFiDirect.WiFiDirectInformationElement();
// IE blob
var dataWriter = new Windows.Storage.Streams.DataWriter();
dataWriter.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf16LE;
dataWriter.writeString(Api_DeviceName);
IE.Value = dataWriter.detachBuffer();
// OUI
var dataWriterOUI = new Windows.Storage.Streams.DataWriter();
dataWriterOUI.writeBytes([0xAA, 0xBB, 0xCC]);//(Globals.CustomOui);
IE.Oui = dataWriterOUI.detachBuffer();
IE.ouiType = 12;//(byte)Api_DeviceName.Length;
m_Publisher.advertisement.informationElements.push(IE);
m_Publisher.start();
console.log('WiFi Direct Started');
return "Advertisment started sucessfully";
}
希望有人能帮我解决这些问题。任何帮助将不胜感激
我可以在 cordova 应用程序中从下面开始 WiFi Direct 广告。
startAdvertisment: function (successCallback, errorCallback, args) {
if (publisher === null) {
publisher = Windows.Devices.WiFiDirect.WiFiDirectAdvertisementPublisher();
}
if (listener===null) {
listener = new Windows.Devices.WiFiDirect.WiFiDirectConnectionListener();
listener.onconnectionrequested = OnConnectionRequested;
}
publisher.advertisement.isAutonomousGroupOwnerEnabled = false;
publisher.advertisement.listenStateDiscoverability =
Windows.Devices.WiFiDirect.WiFiDirectAdvertisementListenStateDiscoverability.normal;
publisher.start();
}