我正在将Flash SWF加载到
Android WebView中.
@H_301_2@我希望SWF立即全屏和专注.
@H_301_2@处理flash的类名是com.adobe.flashplayer.FlashPaintSurface.观看日志时,当我手动全屏扫描时,它会调用com.adobe.flashplayer.FlashPaintSurface.toggleFullScreen().
@H_301_2@我的问题的第一部分是:如何为Flash SWF手动调用该方法?
@H_301_2@请注意,对于嵌入了Flash的webview,我似乎能够正确地全屏显示它的唯一方法(使用Flash的surfaceview全屏而不是在webview视图顶部显示flash)是用两个手指触摸屏幕直到界面弹出一个界面,并且不会可靠地发生.
@H_301_2@对于焦点,我在我的webview类中调用:
@Override protected boolean drawChild (Canvas canvas,View child,long drawingTime) { if (child.getClass().getName().equals("com.adobe.flashplayer.FlashPaintSurface")) { child.requestFocus(); } return super.drawChild(canvas,child,drawingTime); }@H_301_2@这并没有像我想象的那样设定焦点.虽然我假设,如果正确完全屏蔽,FlashPaintSurface应该给自己的焦点.但是如果第一部分不可行,我想至少不要在启动时点击它来关注SWF. @H_301_2@请注意我动态执行此操作,而不是调用我自己创建的SWF,因此无法使用Actionscript解决此问题.
解决方法
我使用之前的
Problem to load flv video in webview解决方案中的代码取得了成功.这可能会有所帮助.
@H_301_2@embed标签看起来像这样:
<embed style="width:100%; height:100%" src="./FLVPlayer.swf?fullscreen=true&video=./expression_sad.flv" autoplay="true" quality="high" bgcolor="#000000" name="VideoPlayer" align="middle" allowScriptAccess="*" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> </embed>