Я пытаюсь создать рекламодателя WifiDirect для сопряжения и подключения моего ПК к телефону 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();
}