現在、Java で Android 用のアプリケーションを作成していますが、これを iOS サポート用に Xamarin.Forms で書き直しています。Android アプリでは Jsoup を使用し、Xamarin アプリでは AngleSharp を使用しています。
以下のコードは iOS と UWP では機能しますが、Droid プロジェクトでは機能しないという問題があります。
私の疑いは、 context.OpenAsync(url); を呼び出すときに接続が確立されていないことです。
私が持っています
<uses-permission android:name="android.permission.INTERNET" />
私のAndroidマニフェストで。minSdk=17、targetSdk=24 をターゲットにしています。この問題は、エミュレーターと Galaxy 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);
}
注意 プライバシーのため、URL またはユーザー名とパスワードは表示していません。どんな助けでも大歓迎です!