androidがWebページをレンダリングするときonPageFinishedはソリューションをトリガーしません
1310 ワード
質問:
onPageStartedでshowloadingしたが、終始onPageFinishedを実行せず、loadingは閉じることができず、模索を経て解決策を見つけた.
Android 5.0以上のwebviewではhttpとhttpsの混合コンテンツをロードできないという問題があると思いますので、ここで対応する処理を行いました.android 5.0 webviewではhttpとhttpsの混合コンテンツをロードできないという問題を解決します.
設定
しかし、効果はなく、また模索して、やっと問題を解決しました.
webView.setWebViewClient(new MyWebViewClient());
private class MyWebViewClient extends WebViewClient {
@Override
public void onPageStarted(WebView webView, String s, Bitmap bitmap) {
super.onPageStarted(webView, s, bitmap);
showLoadingDialog(mContext, getString(R.string.loading));
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
closeLoadingDialog(mContext);
}
}
onPageStartedでshowloadingしたが、終始onPageFinishedを実行せず、loadingは閉じることができず、模索を経て解決策を見つけた.
Android 5.0以上のwebviewではhttpとhttpsの混合コンテンツをロードできないという問題があると思いますので、ここで対応する処理を行いました.android 5.0 webviewではhttpとhttpsの混合コンテンツをロードできないという問題を解決します.
設定
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webView.getSettings().setMixedContentMode(android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
しかし、効果はなく、また模索して、やっと問題を解決しました.
webView.setPictureListener(new MyPictureListener());
class MyPictureListener implements PictureListener {
@Override
public void onNewPicture(WebView view, Picture arg1) {
closeLoadingDialog(TeacherHomePageActivityWeb.this);
}
}