首页 > 解决方案 > 如何让 Webview 超链接在 webview 应用程序而不是浏览器中打开

问题描述

我正在尝试使用 android studio 构建一个 Webview 应用程序,但我目前遇到了问题。索引页面在应用程序上完美显示,但每当我单击超链接时,它会将我重定向到浏览器,然后重定向到网站,如何在从 webview 构建的应用程序中将我重定向到另一个页面。这是主要活动java的片段

公共类 MainActivity 扩展 AppCompatActivity {

private WebView mywebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mywebView = (WebView) findViewById(R.id.webview);
    WebSettings websettings=mywebView.getSettings();

    mywebView.loadUrl("https://www.cavaapperal.co.za/");
    websettings.setJavaScriptEnabled(true);
}
public class myWebClient extends WebViewClient{
    @Override
    public void onPageStarted (WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
    }
    @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
                return true;
    }

}

@Override
public void onBackPressed (){
    if (mywebView.canGoBack()) {
        mywebView.goBack();
    }    else{
            super.onBackPressed();
        }
    }

}

标签: androidhtmlandroid-studioweb-applicationswebview

解决方案


webView.setWebViewClient(new WebViewClient(){
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url != null && (url.startsWith("http://") || url.startsWith("https://"))) {
            view.getContext().startActivity(
                new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
            return true;
        } else {
            return false;
        }
    }
});

WebView 链接点击打开默认浏览器

请看以下链接


推荐阅读