2016-05-24 23 views
0

外部URLを書き出しているときに、WebViewにユーザー名とパスワードを持つDialogBoxがあります。それは私が多くのURLをロードしますが、このようなエラーを取得していない私にエラー認証が必要です外部URLをWebViewに読み込む

URL「http://developer.xamarin.com:8081/api/todoitems

enter image description here を与えます。しかし、上記のようにロードすると、DialogboxにURLが記載されているので、ログインに失敗します。

WebViewでこのようなURLを表示する方法をお手伝いしてください。

答えて

1

あなたは、そのページのために必要な資格情報を提供する必要があります。

myWebview.SetHttpAuthUsernamePassword(host, realm, username, password);

Xamarin Reference

+0

資格情報がわからないのですが、webViewでdiaologboxを開きたいのですが、 – Pritish

+0

できないと思います。ウェブサイトから401の応答を検出し、ユーザからの詳細を取得し、 'SetHttpAuthUsernamePassword'メソッドに戻してページを更新する独自のダイアログを表示することができます。 – tallpaul

+0

にはこれに対応するコードスニペットがあります – Pritish

1

あなたはNative WebView Rendererを作成することができます。 は、このWebViewのレンダラにWebViewClientを追加します。

webView.SetWebViewClient(new MyWebViewClient()); 

オーバーライドOnReceivedHttpAuthRequestで次のようにMyWebViewClientを作成します。ダイアログがユーザー名、パスワードを含むアンドロイドプロジェクトにレイアウトされ

class MyWebViewClient : WebViewClient 
{ 
    public override void OnReceivedHttpAuthRequest(Android.Webkit.WebView view, HttpAuthHandler handler, string host, string realm) 
    { 
     Dialog dialog = new Dialog(view.Context); 

     dialog.SetContentView(/*Layout here*/); 
     dialog.Show(); 

     //On submit Button Click from Layout set username and password: 
     handler.Proceed(userName, password); 
    } 
} 

、フィールドを提出し、キャンセル。これは自分で作成したり、some pagesから助けを得ることができます。

関連する問題