看了不少文章和所谓的解决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插件播放,