URL の読み込みがいつ完了したかを検出するための回答を見てきましたが、それを知る必要があります..しかし、読み込みが成功したかどうかも知る必要があります。
HTML インタースティシャル広告をロードしているので、これを知る必要があります。ロードされていない場合は表示したくありません。自分で を作成してWebClient
を検出することはできますonPageFinished
が、インターネットのスイッチをオフにしても、 が呼び出されているのが引き続き表示されることに気付きましたonPageFinished
。では、両方が完了して成功した場合、URL を検出するにはどうすればよいでしょうか?
編集: ObAt の提案を見て、それをthis SO questionに対する最も人気のある回答と組み合わせて、私はまだ少し行き詰まっています。インターネットをオフにすると、WebView の内容は次のonPageFinished
ようになります (section_id 番号が 9999 に変更されます)。
<head><head><script type="text/javascript" src="http://ad.leadboltads.net/show_app_ad.js?section_id=9999"></script></head><body></body></head>
これは明らかなエラーを示しません。
編集:LoadData
ではなく aを実行していることに気付きましたLoadUrl
が、これが違いを生むかどうかはわかりません。
編集:インターネットがオンで、広告が正常に読み込まれる場合、webview のコンテンツの例は次のとおりです。
<iframe name="ap_iframe" width="300" height="250" frameborder="0" src="http://ad.leadboltads.net/show_app_ad?section_id=9999&lang=en-GB&scr_w=480&scr_h=800&
url=data%3Atext%2Fhtml%2C%3Cscript%20type%3D%22text%2Fjavascript%22%20src%3D%22http%3A%2F%2Fad.leadboltads.net%2Fshow_app_ad.js%3Fsection_id%__HIDDEN__script%253E&
referer=" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no"></iframe></body></head>
これで、2 つの状態の違いがわかるようになりました...そしておそらく、「iframe」や「width」など、失敗したページにはない、正常に読み込まれたページで期待されるものを検索することができます.. . しかし、それは非常に非一般的で不十分な答えのように感じます.