android 使用WebView 支持播放优酷视频,土豆视频
看了很多文章和所谓的解决android WebView播放优酷,土豆等视频的办法,都是什么 setPluginsEnabled,在android 4.x之后都不好使,压根就没这函数,因为android 4.x 都去除了flash的支持。就这东西弄的我折腾了半天时间,现在的网站都是采集复制,浪费时间。 只有自己操刀了, 下面给出我的解决办法, 1. 修改AndroidManifest.xml 在Application节点上增加 ? 1 android:hardwareAccelerated="true" 当然你也可以在WebView所在的Activity节点上增加此属性 2. 在WebView的布局XML上增加 android:layerType="hardware" ? 1 2 3 4 5 6 <WebView android:id="@+id/newsContent" android:layout_width="match_parent" android:layout_height="match_parent" android:layerType="hardware" # 这里一定要选择hardware,使用硬件。 > 3. 在Java代码中设置相应属性 ? 1 2 3 4 5 6 7 8 9 10 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.接下来解决播放的视频无法停止的问题 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 @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 以上播放就没什么问题了 。。。。等等 还忘了,如果WebView打开的网页 包含有分享的 链接,需要分享的链接是 通用的链接即,<iframe src="http://play.youku.com/xjlkdfjaklfjdsa" /> ,若直接使用 embed 的 不会播放,还是那个原因,android不支持flash插件播放,