

onCreateWindow で作った WebView で loadUrl を使って次の URL に遷移すると
shouldOverrideUrlLoading が呼ばれず、onPageStarted がいきなり呼ばれます。

親ウインドウ (つまり、onCreateWindow を呼んだ方)では、

  * shouldOverrideUrlLoading
  * onPageStarted

の順番で呼ばれますが、  
子ウインドウは、onPageStarted がいきなり呼ばれてしまいます。  
そのため、loadURL で次の URL へ遷移したり、location.href にカスタム URL スキームが入ったものを実行する JavaScript
を loadURL で実行すると、shouldOverrideUrlLoading が呼ばれないので、  
カスタム URL スキームの処理ができず、  
net::ERR_UNKNOWN_URL_SCHEME  
のエラーが発生します。  
onPageStarted で、カスタム URL スキームの処理ができればいいのですが、  
できないので困っています。

どなたか同じようなケースで解決された方がいらっしゃいましたら、  
解決方法を教えていただけませんでしょうか？

よろしくお願いします。


CC BY-SA 3.0
2015-09-12T13:48:35.913
16546
2015-09-12T22:46:46.813
2015-09-12T22:46:46.813
12304
12304
question
android webview android-webview
onCreateWindowで作ったWebViewでloadUrlを呼ぶとshouldOverrideUrlLoadingが呼ばれません