我有一个webview应用程序,面对当我点击超链接然后它在默认浏览中打开

时间:2016-02-07 07:48:07

标签: android webview

我有一个webview应用程序并面临一个问题 当我点击超链接时,它会在默认浏览器中打开。

但我想在同一个网页浏览中打开该链接。 如何在同一个webview中打开它。

这是我的代码。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    WebView myWebView = (WebView) findViewById(R.id.myWebView);
    myWebView.loadUrl("file:///android_asset/abc/index.html");
    myWebView.setWebViewClient(new MyWebViewClient());
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
}

private class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (Uri.parse(url).getHost().equals("file:///android_asset/abc/index.html")) {
            return false;
        }

        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        startActivity(intent);
        return true;
    }
}

2 个答案:

答案 0 :(得分:0)

好吧,

myWebView.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return false; 
    } 
}); 

在所有情况下都返回false

答案 1 :(得分:0)

好的..你还添加了一个WebViewClient ..

然后以这种方式尝试......

myWebView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return false;
    }
});

这应该对你有用..