webView не отображает страницу на android ниже 4.4.4

233
12 октября 2017, 09:40

Раньше работало на версиях от 4.1, теперь не работает до 4.4.4.

Показывает просто белый экран и ничего больше. На андроид 4.4.4 и выше всё работает.

Аналогичный вопрос был задан на en-SO, но там так же без ответа

Код MyWebViewClient:

    public class MyWebViewClient extends WebViewClient{
    AppCompatActivity activity;
    RefreshWebView listener;
    ProgressBarListener progressBarListener;
    public MyWebViewClient(AppCompatActivity activity, RefreshWebView listener){
        this.activity = activity;
        this.listener = listener;
    }
    public MyWebViewClient(AppCompatActivity activity, ProgressBarListener progressBarListener){
        this.activity = activity;
        this.progressBarListener = progressBarListener;
    }
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
        if (progressBarListener != null){
            progressBarListener.showOrHideProgressBar(true);
        }
    }
    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        if (progressBarListener != null){
            progressBarListener.showOrHideProgressBar(false);
        }
    }
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        if(url.contains("#")) {
            url = url.substring(0, url.indexOf("#"));
        }
        if (!url.contains("show=only-content")){
            StringBuilder builder = new StringBuilder();
            builder.append(url);
            builder.append("?show=only-content");
            Log.d("TAG_URL", "Internal " + builder.toString());
            view.loadUrl(builder.toString());
        } else {
            view.loadUrl(url);
        }
        return true;
    }
    @Override
    public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
        super.onReceivedError(view, request, error);
        if (progressBarListener != null){
            progressBarListener.showOrHideProgressBar(false);
        }
        if (!IsConnectingToInternet.check()){
            dialogRetry(activity);
        }
    }
    @Override
    public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
        if (progressBarListener != null){
            progressBarListener.showOrHideProgressBar(false);
        }
        final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
        builder.setMessage(R.string.notification_error_ssl_cert_invalid);
        builder.setPositiveButton("Продолжить", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                handler.proceed();
            }
        });
        builder.setNegativeButton(R.string.dialog_cancel, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                handler.cancel();
            }
        });
        final AlertDialog dialog = builder.create();
        dialog.show();
    }
}

Может быть, что я обновил библиотеки build.gradle и после этого webView перестал отображаться, но это только мои догадки

compileSdkVersion 26        //было 25
buildToolsVersion "26.0.1"  //было 25.?.?
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8  // было 1_7
    targetCompatibility JavaVersion.VERSION_1_8  // было 1_7
}
dependencies{
    //ну и соответственно, обновил здесь библиотеки
}
READ ALSO
Авторизация в БД MySQL C# WPF MVVM

Авторизация в БД MySQL C# WPF MVVM

Здравствуйте! Пишу авторизацию на C# WPF MVVM в БД MySQL, используя EF6Необходимо написать команду, которая будет выполняться при нажатии на кнопку...

891
Как при выходе закрыть ранее запущенные процессы?

Как при выходе закрыть ранее запущенные процессы?

Есть простая программка, которая выводи лист ексель файликов, которые загружены в определенную папкуПо щелчку каждый из файликов открывается...

281
Подключение системы оплаты товара [требует правки]

Подключение системы оплаты товара [требует правки]

Добрый вечер! Пытаюсь найти информацию по подключению (интернет-эквайринга?) на web-Приложение ASPNET

215