2016-11-07 54 views
6

私のeコマースアプリで注文支払いをしています。ユーザーをwebviewにリダイレクトしています。私のwebviewでは、ユーザーにGoogle Plusを使ったログインを求めます。ユーザーがGoogle+ボタンをクリックすると、子ウィンドウが開き、認証が成功すると結果が親ウィンドウに返され、親ウィンドウのリダイレクトはログイン画面からユーザーが来たページに移動します。 [製品の詳細ページ、カートページなど]。Webviewリダイレクトの問題

それではここでの問題は、私はAndroidのWebViewの中で

webview.loadUrl(url); 

をリンクを開くときには、すぐにG +のリダイレクトをユーザーがクリックすると行われ、親ページが削除されますとg +認証が開始されると罰金開きです。認証が成功した後、親ウィンドウに制御が渡されますが、この時点では親は存在せず、すべての親Javascriptオブジェクトは以前に子ウィンドウに置き換えられています。

ここで私のリダイレクトは間違った場所で行われています。そのURLの負荷はあるもののので、URLがtoWebViewClient.onPageStartedを通過したとして

+0

これを一度チェックしてください。http://stackoverflow.com/questions/19831645/android-catch-webview-redirection-url –

答えて

-1

getOriginalUrlは()

は、もともとは、現在のページ

のgetURL(のために要求されたURLを返します)は常に同じではありません。現在のページが変更されていない可能性があります。

getOriginalUrl()は、現在のページの元のURLを取得します。これは、URLのロードが開始されても現在のページが変更されていない可能性があるため、WebViewClient.onPageStartedに渡されたURLと常に同じではありません。また、リダイレクトによって、最初に要求されたURLとは異なるURLが作成されている可能性があります。

+0

私は望んでいない私は私が子供のウィンドウが閉じられたときに私は彼の返信を送信するようにWebViewの間の通信を望んでいないjavascriptオブジェクトで受信されたGoogleの共有ユーザーIDとの認証後親webview.Asとして親のwebviewAs情報を受け取るとリダイレクトされます。 –