WebView使用总结

标签: webview | 发表时间:2012-01-21 10:30 | 作者:
出处:http://www.iteye.com

        以下是使用WebView过程中的部分场景和解决方案

  • 支持Copy功能 
     public  static synchronized void  emulateShiftHeld(WebView view)
    	 {
    		 
    	        try
    	        {
    	            KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
    	                                                    KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
    	            shiftPressEvent.dispatch(view);
    	        }
    	        catch (Exception e)
    	        {
    	            Log.e(TAG, "Exception in emulateShiftHeld()", e);
    	        }
    	    }
    
    
     public  static synchronized void selectAndCopyText(WebView v) {
    		     try {
    		    	 
    		    	 
    		         Method m = WebView.class.getMethod("emulateShiftHeld", Boolean.TYPE); 
    		            m.invoke(v, false); 
    		        } catch (Exception e) {
    		            // fallback
    		            emulateShiftHeld(v);
    		        }finally{
    
    		        }
    
    		}
    
  • 如果WebView是放在TabHost中的Activity, 而且WebView中包含html的select,会在点击其中的Item时候崩溃,异常信息如下: android.view.WindowManager$BadTokenException: Unable to add window
    token android.app.LocalActivityManager$LocalActivityRecord@44ed8338 is not valid; is your activity running?解放方法:用代码生成WebView( new WebView(this.getParent() == null ? this : this.getParent())),而不是直接用Xml layout.
  • 重写WebView中的href(在新的窗口打开或在当前页面打开)
    _webView.setWebViewClient(new WebViewClient(){       
    			                  public boolean shouldOverrideUrlLoading(WebView view, String url) {
    			                	         TDStockLog.d(TAG, url);
    			                	         if(url.indexOf("&id=")!=-1){
    			                			 forwardMessageContentActivity(url);
    			                			 }else{
    			                				 _webView.loadUrl(url);
    			                			 }
    			                			 
    				                         return true;       
    				                    }       
    				         });
     
  • 显示本地Html
     public void setWebContextDefault(){
    		if(_webView!=null){
    			 String summary="<html><head></head><body>"+this.getString(R.string.service_not_available)+"</body></html>";
    			   TDStockLog.d(TAG, "content=" + summary);
    				//_webView.getSettings().setBuiltInZoomControls(true);
    				//_webView.getSettings().setJavaScriptEnabled(true);
    				_webView.loadDataWithBaseURL(null, summary, "text/html","utf-8", null);
    		}
    	}
  •  从低版本开始支持放大缩小
    webSettings.setBuiltInZoomControls(true);


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [webview] 推荐:

WebView JS 交互

- - ITeye博客
WebView加jquery做页面会怎么样呢. // 创建WebView对象. // 把programList添加到js的全局对象window中,. // 这样就可以使用window.programList来获取数据. * 定义js回调java函数. // 绑定键盘的向上,向下按钮事件触发相应的js事件.

Android WebView 用法

- - 移动开发 - ITeye博客
Android和iOS系统都提供了标准的浏览器控件,在Android中是WebView,iOS中为UIWebView. 在iOS中你实例化一 个UIWebView即可调用loadRequest来加载一个网页,但是在Android中你不仅需要创建一个WebView,还需要做一些其他的事 情,建议初次使用WebView的读者按照以下步骤使用:.

WebView使用总结

- - ITeye博客
        以下是使用WebView过程中的部分场景和解决方案. 如果WebView是放在TabHost中的Activity, 而且WebView中包含html的select,会在点击其中的Item时候崩溃,异常信息如下: android.view.WindowManager$BadTokenException: Unable to add window.

webView使用方法小结

- - CSDN博客推荐文章
1、添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误. 2、在要Activity中生成一个WebView组件:WebView webView = new WebView(this);.

WebView中的视频播放

- - 移动开发 - ITeye博客
activity_main.xml如下:. private String videoUrl = "视频地址.mp4";. private String imgUrl = "视频封面图片地址.png";. private String html = "视频如下:
应用开发托管服务';