2013-05-27 43 views
1

我有此:在同一网页视图中打开链接而非浏览器

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/"); 

    } 


} 

但是,如果我打开这个应用程序的链接,其打开浏览器,而不是在应用程序。 我该如何做到这一点?

Thanx。

+0

http://stackoverflow.com/a/9612999/1168654的 –

+0

可能重复[点击网址,打开默认的浏览器(http://stackoverflow.com/questions/2378800/点击的URL,打开默认的浏览器) – laalto

回答

1

将WebViewClient用于Web视图。

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; 
    } 
} 
相关问题