2016-11-07 2 views
6

주문 결제를위한 전자 상거래 앱에서 사용자를 webview로 리디렉션하고 있습니다. 내 webview에서 사용자에게 Google Plus를 사용한 로그인을 묻습니다. 사용자가 Google+ 버튼을 클릭하면 하위 창이 열리 며 인증 성공 후 상위 창으로 결과가 전송되고 상위 창에서는 로그인 화면에서 사용자가 온 페이지로 이동합니다. [제품 세부 사항 페이지, 장바구니 페이지 등]. 나는 그것이 바로 G + 리디렉션에 사용자가 클릭 장소와 부모 페이지를 제거하고 g + 인증이 시작됩니다 얻을 걸립니다 미세 열립니다Webview 리디렉션 문제

webview.loadUrl(url); 

안드로이드 웹보기에서 링크를 열 때

그래서 여기에 문제가 있습니다. 성공적인 인증 제어가 부모 창에 주어진 후에 부모가 존재하지 않고 모든 부모 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

내가 원하는 URL을 싶지 않아 내가 자식보기 창 사이의 통신을 원하는 때 부모가 webview.As 내 통신을 자바 스크립트 개체에서받은 Google 공유 사용자 ID와 성공적인 인증 후 같은 자신의 회신을 보내고 싶어요 내 부모 webviewAs 정보를 수신하면 리디렉션됩니다. –