Нужно открыть внешний браузер, если в 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());
}
}