首页 > 解决方案 > WiFiDirectDevice.FromIdAsync() 上的无效转换异常

问题描述

我正在尝试创建一个 WifiDirect 广告商,以便将我的 PC 与 Android 手机配对和连接。跟着这个 Wifi Direct 教程,我已经到了我的电脑正在广播连接的地步,我可以看到可以在手机上连接的选项。但是,当我选择要连接的计算机时,程序会在线抛出System.InvalidCastException: 'Specified Cast is not valid.'错误WiFiDirectDevice.FromIdAsnc()

以下是OnConnectionRequested在发布开始之前添加为事件侦听器的相关功能。我从教程(15:30)中逐行复制了方法行,所以我不太确定我哪里出错了。任何帮助,将不胜感激。

private async void OnConnectionRequested(WiFiDirectConnectionListener
        sender, WiFiDirectConnectionRequestedEventArgs args)
{
    WiFiDirectConnectionRequest connectionRequest  = args.GetConnectionRequest();
    //Problem line is here:
    WifiDirectDevice wfdDevice = await WiFiDirectDevice.FromIdAsync(connectionRequest.DeviceInformation.Id);
    var EndpointPairs=wfdDevice.GetConnectionEndpointPairs();
    //TODO establish socket connection using above IP addresses
}

private void StartAdvert ()
{
    publisher = new WiFiDirectAdvertisementPublisher();

    //Sets the listen state to normal, so it can be discovered when app is in foreground
    publisher.Advertisement.ListenStateDiscoverability = WiFiDirectAdvertisementListenStateDiscoverability.Normal;

    listener = new WiFiDirectConnectionListener();
    listener.ConnectionRequested += OnConnectionRequested;
    publisher.Start();
}

标签: c#uwpwifi-direct

解决方案


推荐阅读