Веб-формы Xamarin (Webview)

#xamarin.forms #xamarin.android

Вопрос:

Я загружаю весь свой веб-сайт по URL-адресу. Мне нужен способ сохранить имя пользователя и пароль. Я не использую никаких кодов в проекте xamarin. Я понятия не имею, как это сделать, я относительно новичок в этой области.

Ответ №1:

В WebViewClient классе есть метод обратного OnReceivedHttpAuthRequest вызова, который вызывается WebView, когда серверу требуется имя пользователя и пароль. Одним из параметров этого метода является HttpAuthHandler интерфейс. Вы управляете запросом на авторизацию, вызывая методы этого обработчика.

Таким образом, решение состоит в том, чтобы создать WebViewClient подкласс, который переопределяет OnReceivedHttpAuthRequest и вызывает соответствующий метод на HttpAuthHandler . Затем установите в своем веб-представлении экземпляр этого подкласса.

Вот ссылка на документацию по Xamarin: OnReceivedHttpAuthRequest — Xamarin.

 var client = new MyWebViewClient();
WebView web = FindViewById<WebView>(Resource.Id.webView1);
web.SetWebViewClient(client);

class MyWebViewClient : WebViewClient {

public override void OnReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, string host, string realm) {

    handler.Proceed(username, password);
 }
}