android2.1及之前的版本是不支持flash的。


android2.2开始之后开始支持flash。要使用webview加载flash首先手机应该安装flash插件;

其次应该设置

webSettings = mWebView.getSettings();

webSettings.setJavaScriptEnabled(true);

webSettings.setPluginsEnabled(true);

android4.0要加载flash的话还需要开启硬件加速。


。。。

问题出来了,4.0加载flash确实可以正常播放,但是当你点击flash中的全屏按钮时,要么画面卡住要么有声音没画面。这确实是一个很蛋疼的问题。为什么会出现这个问题呢?经过一番研究发现时4.0中修改了相关代码导致全屏时出现问题。

讲到这里还要稍稍了解一下flash相关的知识。由于对flash研究也不是很深,讲个大概意思就好。flash正常大小在webview中显示是没有问题的。但是点击全屏按钮后flash会有一个全屏的界面,而这个全屏界面与正常大小的界面并不是显示在同一个view中。相当于有两个view,分别装载一般大小和全屏的界面。


4.0中修改了装载全屏界面这个view的显示状态,所以会导致全屏时界面无或者卡住的问题。

知道原因后要解决这个问题就好办了。下面是解决方案:

mWebView.setWebChromeClient(new WebChromeClient(){
public void onShowCustomView(View view, int requestedOrientation,WebChromeClient.CustomViewCallback callback) {if (mCustomView != null) {callback.onCustomViewHidden();return;}if (PhoneInfo.getPhoneAndroidSDK() >= 14) {mFullscreenContainer.addView(view);mCustomView = view;mCustomViewCallback = callback;mOriginalOrientation = getRequestedOrientation();mContentView.setVisibility(View.INVISIBLE);mFullscreenContainer.setVisibility(View.VISIBLE);mFullscreenContainer.bringToFront();setRequestedOrientation(requestedOrientation);}}public void onHideCustomView() {mContentView.setVisibility(View.VISIBLE);if (mCustomView == null) {return;}mCustomView.setVisibility(View.GONE);mFullscreenContainer.removeView(mCustomView);mCustomView = null;mFullscreenContainer.setVisibility(View.GONE);try {mCustomViewCallback.onCustomViewHidden();} catch (Exception e) {}// Show the content view.setRequestedOrientation(mOriginalOrientation);}
});

 

附DEMO地址:FlashDemo.rar

更多相关文章

  1. Android(安卓)Studio Gradle Could not reserve enough space fo
  2. LayoutInflater加载界面文件
  3. android----Activity对应的UI嵌套子UI(fragment)方法
  4. Android滑动列表加载大量图片时候的优化
  5. Android(安卓)浅析 ContentProvider (四) 启动原理
  6. android --- Afianl框架里面的FinalBitmap加载网络图片
  7. Android无视屏幕解锁保护界面
  8. 取消程序在最近六项中显示以及直接调用信息短信界面
  9. Android(安卓)如何实现欢迎界面(Splash Screen)

随机推荐

  1. Android(安卓)Main thread
  2. Android中App内部切换语言包
  3. Android(安卓)WIFI 列表重复项问题
  4. Android复习之旅--Intent
  5. Android(安卓)开发最佳实践--转自Git
  6. android 多层目录文件创建
  7. android在线预览office
  8. Tablayout+Viewpager+Fragment组合使用以
  9. React Native获取移动设备信息(react-nat
  10. Android(安卓)基于源码的科学计算器——C