我有一个应用程序可以在相同的意图和同一webview中打开我的网页。现在,我有一个页面,我希望它在用户请求时在浏览器中打开。那可能吗? 这是我的代码:
WebView myWebView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.getSettings().setAllowFileAccessFromFileURLs(true);
myWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
myWebView.loadUrl("https://mywebpage.me");
String url = myWebView.getUrl();
myWebView.setWebChromeClient(new WebChromeClient());
如果用户导航到https //:mywebpage.me/About.html,我希望它在浏览器中显示。
答案 0 :(得分:0)
你应该听导航事件。
创建 WebViewClient
private class MyClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.equals(PUT_YOUR_URL_HERE)) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}
return false;
}
}
将其传递给 WebView
myWebView.setWebViewClient(new MyClient());
顺便说一下,这个方法在API级别24中已弃用。