【发布时间】:2015-09-07 13:14:47
【问题描述】:
我一直在尝试编写一个简单的基于命令行的应用程序(使用 Visual Studio 2015 和 Windows 10 中的 C# 和 .NET)以在 Microsoft's Universal Samples 之后启动 Wi-Fi Direct 广告商,但手动添加对必要的 *.dll 和 *.winmd 程序集的引用,而不是创建 UniversalWindowsPlatform 项目。 (System.Runtime.WindowsRuntime 来自 Refference Assemblies 和 Windows 来自 Windows Kits\10\Union Metadata\Windows.winmd)
这是相关代码:
public void StartAdvertisement(WiFiDirectAdvertisementListenStateDiscoverability discoverability,
bool listenToConnections)
{
if (mPublisher == null)
mPublisher = new WiFiDirectAdvertisementPublisher();
if (listenToConnections)
{
mListener = new WiFiDirectConnectionListener();
mListener.ConnectionRequested += OnConnectionRequested;
}
mPublisher.StatusChanged += OnStatusChanged;
mPublisher.Advertisement.IsAutonomousGroupOwnerEnabled = true;
mPublisher.Advertisement.ListenStateDiscoverability = discoverability;
mPublisher.Start();
}
async void OnConnectionRequested(WiFiDirectConnectionListener sender,
WiFiDirectConnectionRequestedEventArgs connectionEventArgs)
{
// Connection code
}
广告商启动正常(可以从其他设备找到,并创建必要的网络接口),但是当其他设备尝试连接时不会调用 OnConnectionRequested 方法。我已经看到,要使用 Wi-Fi Direct,通用 Windows 应用程序必须将 proximity capability 添加到其清单中,但对于 通用 应用程序,没有清单。
我能否仅通过引用必要的程序集从非通用 Windows 应用程序中使用 Windows 10 WiFi Direct API?
【问题讨论】:
标签: c# .net windows-10 wifi-direct win-universal-app