Androidでwebviewアプリケーションを実装しています。 https urlを1回または2回ロードしようとすると、-アクティビティが終了しますになります。 Agianがロードしようとしていますhttps url Webページが利用できないことを示しています。下の画像を見つけてください。
そのURLをもう一度クリックすると、Webサイトが表示されます。
以下のコードを使用してURLをロードしました。
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("https://www.facebook.com");
webView.clearView();
webView.measure(100, 100);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@SuppressLint("NewApi")
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
// this will ignore the Ssl error and will go forward to your site
handler.proceed();
error.getCertificate();
}
});
みんな助けてください…….
前もって感謝します
以下の属性を使用してみてください:
webView = (WebView) findViewById(R.id.webView1);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
Manifest.xmlにインターネット設定を追加します
<uses-permission Android:name="Android.permission.INTERNET" />
そして、あなたはあなたのデバイスでインターネットにアクセスできますか?.
この文字列を削除します。
super.onReceivedSslError(view, handler, error);
そしてこの方法では
public boolean shouldOverrideUrlLoading(WebView view, String url) {
falseに戻す
このような:
return false;
それは私を助けました
これを削除する必要があります
super.OnReceiveSslError(view,handler,error);
このオーバーライドメソッドをWebViewClient実装に追加します。 Android SDK 2.2(API level 8)以降でコンパイルする必要があります。このメソッドは2.2(APIレベル8)以降のパブリックSDKに表示されますが、テスト済みです2.1、1.6、および1.5を実行しているデバイス、およびそれらのデバイスでも動作します(したがって、動作はずっとそこにありました)。
WebView.setWebViewClient(new WebViewClient() {
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
handler.proceed();
}
});
ここでの1つの可能性は競合状態です。
WebViewClientをセットアップする前に https://www.facebook.com/ を読み込んでいるため、OnReceivedSslError()の実装が、十分な速さの応答を受け取った場合に呼び出されない可能性があります。フェイスブック。
これは、なぜそれが他の人ではなく一部の人のために機能するのかを説明し、ページがリロードされれば常に機能します。
また、ページをリロードしようとするのではなく、ページをロードしたい場合は、shouldOverrideUrlLoading()からfalseを返すだけでよいと思います。これにより、無限の再帰/クラッシュが発生する可能性があります。
2016年12月の回答:
これがAndroid 5+を備えた特定のデバイスでのみ、および特定のページでのみ発生する場合は、このクロムのバグが原因である可能性が高いです。
https://www.chromium.org/developers/androidwebview/webview-ct-bug
解決策は次のいずれかです。