WebView:停止在浏览器中打开链接并保留在应用程序中

时间:2015-03-13 01:23:34

标签: java android webview

所以我对Java非常陌生,我在我的Android应用程序中使用webview来显示我的响应式网站页面。我意识到我应该开发一个专用的应用程序,但我还没那么好。

话虽这么说,当有人在我的网站中使用链接时,它会尝试在手机上打开浏览器窗口,我宁愿将它们保留在应用程序中。这是我当前的webview配置。我已经尝试了一些我在这里读到的解决方案,但它们似乎都没有用(可能是由于我的知识有限)。



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

        String url ="http://dirtywasted.com/";
        WebView view=(WebView) this.findViewById(R.id.webView);
        view.getSettings().setJavaScriptEnabled(true);
        view.loadUrl(url);
    }




我应该添加什么来保持在应用内部点击链接?

1 个答案:

答案 0 :(得分:1)

您可以将WebClient设置为webview并覆盖shouldOverrideUrlLoading,如:

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

    String url ="http://dirtywasted.com/";
    WebView view=(WebView) this.findViewById(R.id.webView);
    view.getSettings().setJavaScriptEnabled(true);
    view.setWebViewClient(new WebViewClient() {
            @Override
            public bool shouldOverrideUrlLoading(WebView view, String url) {
                //url will be the url that you click in your webview.
                //you can open it with your own webview or do
                //whatever you want

                //Here is the example that you open it your own webview.
                view.loadUrl(url);
                return true;
            }       
         });
    view.loadUrl(url);
}