2014-05-02 46 views
0

簡單我想在我的活動中顯示一個網頁,默認操作欄在上面。我如何做到這一點?應用程序正常運行,不會崩潰網站正在開放但未嵌入。它在我的Chrome瀏覽器中打開。嵌入式網頁在我的Android應用程序

也是我嘗試這個解決方案,但它也是在Chrome網絡瀏覽器中打開網頁 http://developer.android.com/guide/webapps/webview.html#UsingJavaScript

... ... ...

public class xx extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    WebView webview = new WebView(this); 
    setContentView(webview); 
    webview.loadUrl("http://google.com/"); 

} 

} 

...

+0

可能重複[點擊網址,打開默認的瀏覽器(http://stackoverflow.com/questions/2378800/clicking-urls-opens-default-browser),因爲同樣的行爲也被重定向觸發,而Google可能會向您的本地版Google發佈重定向。 – CommonsWare

回答

0

您需要設置一個WebViewClient,它將處理同一WebView中的URL。如果沒有WebViewClient存在,默認情況下,WebView會將url傳遞給ActivityManager,這意味着每次從webView傳遞url時,loadUrl()方法都會打開瀏覽器。

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    WebView webView = new WebView(this); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.setWebViewClient(new WebViewClient()); 
    webView.loadUrl("http://www.google.com"); 
    setContentView(webView); 
} 

,不要忘了在你的AndroidManifest聲明:

<uses-permission android:name="android.permission.INTERNET" /> 
0

這樣使用。的

WebView webView = new WebView(this); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 

    }); 
    webView.loadUrl("http://www.google.com"); 
+0

不!請從shouldOverrideUrlLoading中移除對loadUrl的調用!好的,否則! – ksasq