看了不少文章和所謂的解決android WebView播放優酷,土豆等視頻的辦法,都是什麼 setPluginsEnabled,在android 4.x以後都很差使,壓根就沒這函數,由於android 4.x 都去除了flash的支持。就這東西弄的我折騰了半天時間,如今的網站都是採集複製,浪費時間。java
只有本身操刀了,android
下面給出個人解決辦法,web
1. 修改AndroidManifest.xmlide
在Application節點上增長 函數
android:hardwareAccelerated="true"
固然你也能夠在WebView所在的Activity節點上增長此屬性佈局
2. 在WebView的佈局XML上增長 android:layerType="hardware"網站
<WebView android:id="@+id/newsContent" android:layout_width="match_parent" android:layout_height="match_parent" android:layerType="hardware" # 這裏必定要選擇hardware,使用硬件。 >
3. 在Java代碼中設置相應屬性spa
WebSettings ws=newsContent.getSettings(); ws.setJavaScriptEnabled(true); ws.setAllowFileAccess(true); ws.setDatabaseEnabled(true); ws.setDomStorageEnabled(true); ws.setSaveFormData(false); ws.setAppCacheEnabled(true); ws.setCacheMode(WebSettings.LOAD_DEFAULT); ws.setLoadWithOverviewMode(false);//<==== 必定要設置爲false,否則有聲音沒圖像 ws.setUseWideViewPort(true);
4.接下來解決播放的視頻沒法中止的問題插件
@Override protected void onResume() { super.onResume(); //恢復播放 webView.resumeTimers(); } @Override protected void onPause() { super.onPause(); //暫停播放 webView.pauseTimers(); } @Override protected void onDestroy() { super.onDestroy(); //必定要銷燬,不然沒法中止播放 webView.destroy(); }
OK,就這樣,android 4.x 以上播放就沒什麼問題了code
。。。。等等
還忘了,若是WebView打開的網頁 包含有分享的 連接,須要分享的連接是 通用的連接即,<iframe src="http://play.youku.com/xjlkdfjaklfjdsa" /> ,若直接使用 embed 的 不會播放,仍是那個緣由,android不支持flash插件播放,