WebViewClient::shouldOverrideUrlLoadingの動作について
WebViewClientのshouldOverrideUrlLoadingが呼ばれなくてなんでだろう?と思っていたらこんなのを見つけた
WebViewClient::shouldOverrideUrlLoadingが呼ばれない? - chakimarの日記
動作を見ている感じだと、同じURL内(同一ページ?)で遷移している間は呼ばれないようだ
というか、リンクを押したときにしか使われていない?
ちなみにonPageStartedは毎回呼ばれるので、常にページを読むときに何かしたい場合はこちらを使うのがいいんだろうなぁ
むしろshouldOverrideUrlLoadingが毎回呼ばれないのはそういう仕様なのかも
うーむ、おしえてえろいひとw
やりたいこと
ページを表示するたびに、端末をチェックして条件を満たさなければ指定のページへ遷移させる
shouldOverrideUrlLoadingでやると、ページのリロード時や同一ページ内での遷移で動作しない
気になってonPageStartedも調べてみた
onPageStartedでも同じようなことをやってみた
onPageStartedをOverrideして、その中で条件を満たさなかった場合にloadUrlするようにしてみた・・・
onPageStartedが呼ばれまくって無限ループww
よくよく考えたら(よくよく考えなくても)、loadUrlされたあとにonPageStartedが動き出すから、そりゃ無限ループになるわなw