В настоящее время у меня есть приложение для Android на Java, которое я переписываю в Xamarin.Forms для поддержки iOS. В Android-приложении я использовал Jsoup, а в приложении Xamarin я использую AngleSharp.Anglesarp и Xamarin.Forms OpenAsync не работает in.Droid project
У меня проблема с тем, что приведенный ниже код работает на iOS и UWP, но не в проекте Droid.
Мое подозрение заключается в том, что при вызове контекста не происходит никакого соединения. OpenAsync (url);
У меня есть
<uses-permission android:name="android.permission.INTERNET" />
в моем Android Manifest. Я нацелен на minSdk = 17, targetSdk = 24. Проблема сохраняется как в эмуляторе, так и на моей Галактике S7.
Код:
try
{
var url = "<URL>";
var configuration = Configuration.Default.WithDefaultLoader().WithCookies();
var context = BrowsingContext.New(configuration);
var document = await context.OpenAsync(url);
IHtmlInputElement username = document.QuerySelector("input[id='username']") as IHtmlInputElement;
IHtmlInputElement password = document.QuerySelector("input[id='password']") as IHtmlInputElement;
IHtmlFormElement loginform = document.QuerySelector("form[id='logonForm']") as IHtmlFormElement;
username.Value = "<uname>";
password.Value = "<pword>";
document = await loginform.SubmitAsync();
Debug.WriteLine(context.Active.Url);
}
catch (Exception e)
{
Debug.WriteLine("ERROR " + e);
}
Nb. Из-за конфиденциальности я не показываю URL-адрес, имя пользователя и пароль. Любая помощь приветствуется!
Исключение/трассировка стека? – SushiHangover
Отсутствует, за исключением того факта, что имя пользователя.Value дает ERROR System.NullReferenceException: ссылка на объект не установлена в экземпляр объекта. Это правильно, потому что нет определенных элементов. – genie137