PageUp
@PageUp
Default

Как сделать переадресацию в Webview во внешнем браузере?

Нужно открыть внешний браузер, если в Webview произошла переадресация через Header() на определенный домен.

Когда в коде будет вызываться заголовок начинающийся так:
header("Location: https://yoomoney.ru/checkout/payments/v2/");


Должен открываться внешний браузер

Текущий код Webview:

public class MainActivity extends AppCompatActivity {

    @SuppressLint("SetJavaScriptEnabled")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        @SuppressLint({"MissingInflatedId", "LocalSuppress"}) WebView webView = findViewById(R.id.webview);

        if (18 < Build.VERSION.SDK_INT ){
            //18 = JellyBean MR2, KITKAT=19
            webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        }else{
            webView.getSettings().setJavaScriptEnabled(true);
        }
        webView.loadUrl("https://mysite.ru/index.php");

        class WvClient extends WebViewClient
        {
            @SuppressLint("WebViewClientOnReceivedSslError")
            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError er) {
                handler.proceed();
                // Ignore SSL certificate errors
            }
        }

        WebViewClient webViewClient = new WebViewClient() {

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {

                view.loadUrl(url);
                return false;

            }

            @TargetApi(Build.VERSION_CODES.N) @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {

                view.loadUrl(request.getUrl().toString());

                return false;

            }
        };

        webView.setWebViewClient(webViewClient);
        webView.setWebViewClient(new WvClient());
    }
}
  • Вопрос задан
  • 226 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы