Android WebView中的Flash - 如何自动设置全屏?

时间:2011-04-14 01:21:12

标签: android flash webview fullscreen

我正在将Flash SWF加载到Android WebView中。

我希望SWF立即全屏并专注。

处理flash的类名是com.adobe.flashplayer.FlashPaintSurface。观看日志时,当我手动全屏显示闪光灯时,它会调用com.adobe.flashplayer.FlashPaintSurface.toggleFullScreen()

我的问题的第一部分是:如何手动为Flash SWF调用该方法?

请注意,对于嵌入了Flash的网页视图,我似乎能够正确地全屏显示它(以使Flash的surfaceview全屏而不是显示在webview view顶部的Flash )用两根手指触摸屏幕,直到屏幕顶部弹出一个界面,并且不会可靠地发生。

对于焦点,我在我的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);
}

这并没有像我想象的那样设定焦点。虽然我假设,如果正确完全屏蔽,FlashPaintSurface应该给自己的焦点。但如果第一部分不可行,我想至少不要在启动时点击它来关注SWF。

请注意我动态执行此操作,而不是调用我自己编写的SWF,因此无法使用Actionscript解决此问题。

2 个答案:

答案 0 :(得分:0)

我使用之前Problem to load flv video in webview解决方案中的代码取得了成功。它可能会有所帮助。

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>

答案 1 :(得分:0)

每个Android应用程序Adobe都使用文件“application.xml” - 默认情况下为其描述符:

在为此编写任何代码之前,请先查看该文件。 它会更改每个修订版本,但我上次使用它时是设置此变量(Full_screen)..