在浏览器中打开同一Webview上的链接

时间:2013-05-27 13:18:03

标签: android eclipse browser hyperlink

我已经做到了:

public class Neshaniha extends Activity {

    private WebView webView;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_neshaniha);

        webView = (WebView) findViewById(R.id.webview);
        webView.loadUrl("http://www.mywebsite.org/");

    }


}

但是,如果我在这个应用程序中打开链接,它在浏览器中打开,而不是在应用程序中。 我怎么能做到这一点?

感谢名单。

2 个答案:

答案 0 :(得分:1)

将WebViewClient用于Webview。

答案 1 :(得分:0)

只需使用它

   WebView webviewGoogle;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.news);

    webviewGoogle= (WebView)findViewById(R.id.site_news);
    webView();
}

private void webView(){
    webviewGoogle.getSettings().setJavaScriptEnabled(true);
    webviewGoogle.setWebViewClient(new MyWebViewClient());
    webviewGoogle.setWebViewClient(new WebViewClient());
    webviewGoogle.loadUrl("http://www.google.com/");
}

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

private class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (Uri.parse(url).getHost().equals("http://www.google.com/")) { 
            return false;
        }
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        startActivity(intent);
        return true;
    }
}