嗯...這不難,Android SDK有提供WebView元件可以用。用這段code就搞定了
WebView web = (WebView) findViewById(R.id.webView1);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl(url);
如果有這樣簡單,就不會寫這一篇了。
這樣的寫法當然可以將網頁開在WebView裡。不過,一遇到post form, redirect或其他的情況,就發現會跳出APP,用browser去顯現後面的網頁了。
做一下功課,瞭解了幾件事
- WebView如果沒有設定WebViewClient,那預設WebView會要Activity Manager來提供適當程式來處理這個URL。這也就是為什麼會跳出browser來顯現網頁
- 如果WebView有設定WebViewClient,這時會執行這WevViewClient的shouldOverrideUrlLoading method。這方法如果傳回true則表示APP會自行處理這個URL,否則WebView會接著出面來接手處理這個URL
WebView web = (WebView) findViewById(R.id.webView1);
web.getSettings().setJavaScriptEnabled(true);
web.setWebViewClient(new InsideWebViewClient());
web.loadUrl(url);
class InsideWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
這樣,就可以達到需求了
沒有留言:
張貼留言