Как изменить URL-адрес Webview на другой URL при переходе на другой ресурс - PullRequest
0 голосов
/ 13 мая 2019

В веб-представлении Android как можно изменить URL-адрес веб-просмотра на другой URL-адрес при сбое в первом URL-адресе.

например, у меня есть 2 URL-адреса - url1 и url2

в веб-просмотрезагрузка URL Я помещаю url1

, если в любом случае url1 не работает, тогда мой URL веб-просмотра должен измениться на url2

Mainacctivity.java

public void WebAction(){
        myWebView = (WebView)findViewById(R.id.mywebview);
        progressBar = (ProgressBar)findViewById(R.id.progressBar);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setAppCacheEnabled(false);
        webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
        myWebView.loadUrl("http://url1");
        swipe.setRefreshing(true);
        myWebView.setWebViewClient(new WebViewClient());
        AppUpdateChecker appUpdateChecker=new AppUpdateChecker(this);
        appUpdateChecker.checkForUpdate(false); //mannual check false here
        myWebView.setWebViewClient(new WebViewClient(){
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if (url.startsWith("tel:")) {
                    Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url));
                    startActivity(intent);
                    return true;
                }
                return false;
            }

            public  void  onReceivedError(WebView view, int errorCode, String description, String fallingUrl) {
                myWebView.loadUrl("file:///android_asset/error.html");
            }

            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon){
                progressBar.setVisibility(View.VISIBLE);
                setTitle("Loading.....");
                super.onPageStarted(view, url, favicon);
            }

            @Override
            public void onPageFinished(WebView view, String url){
                progressBar.setVisibility(View.GONE);
                setTitle(view.getTitle());
                super.onPageFinished(view, url);
                swipe.setRefreshing(false);
            }
        });
    }

1 Ответ

1 голос
/ 13 мая 2019

Просто измените метод onReceviedErrorMethod

public void onReceivedError (представление WebView, int errorCode, описание String, String fallUrl) { myWebView.loadUrl («Поставьте свой второй URL»); }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...