I am loading Flash SWFs into an Android WebView.
I want the SWF to be instantly fullscreen and focused.
The class name that handles flash is com.adobe.flashplayer.FlashPaintSurface
. Watching the log, when I fullscreen the flash manually, it calls com.adobe.flashplayer.FlashPaintSurface.toggleFullScreen()
.
The first part of my question is: How can I call that method manually for my Flash SWF?
Note that with a webview with a flash embedded, the only way I seem to be able to fullscreen it properly (to have Flash's surfaceview
fullscreen instead of the flash being displayed over top of the webview view
) is by touching the screen with two fingers until an interface pops up at the top of the screen, and doesn't happen reliably.
For focus, inside my webview class I call:
@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);
}
This doesn't set the focus as I thought it would. Although I assume, if fullscreened properly, the FlashPaintSurface should give itself focus. But if the first part is not doable, I would wonder at least to not have to give focus to the SWF by clicking on it on startup.
Please note I am doing this dynamically, not calling my own SWFs that I make myself, so I cannot solve this with Actionscript.