Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成了WebView组件。
SDK的Dev Guide中有一个WebView的简单例子,寥寥几行代码就可以做一个自己的浏览器。
在实验时,有如下几个注意事项:
1)AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误:
2)如果访问的页面中有Javascript,则webview必须设置支持Javascript:
- webview.getSettings().setJavaScriptEnabled(true);
否则显示空白页面。
3)如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖webview的WebViewClient对象:
- mWebView.setWebViewClient(newWebViewClient(){
- publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){
- view.loadUrl(url);
- returntrue;
- }
- });
上述方法告诉系统由我这个WebViewClient处理这个Intent,我来加载URL。点击一个链接的Intent是向上冒泡的,shouldOverrideUrlLoading方法return true表示我加载后这个Intent就消费了,不再向上冒泡了。
4)如果不做任何处理,在显示你的Brower UI时,点击系统“Back”键,整个Browser会作为一个整体“Back"到其他Activity中,而不是希望的在Browser的历史页面中 Back。如果希望实现在历史页面中Back,需要在当前Activity中处理并消费掉该Back事件:
- publicbooleanonKeyDown(intkeyCode,KeyEventevent){
- if((keyCode==KeyEvent.KEYCODE_BACK)&&mWebView.canGoBack()){
- mWebView.goBack();
- returntrue;
- }
- returnsuper.onKeyDown(keyCode,event);
- }
351

被折叠的 条评论
为什么被折叠?



