Android2.2以上であれば、WebView内でもFlashなコンテンツが利用できます。
以下のように、WebViewの設定を実施する必要があります。
public class WebViewApl extends Activity { ... WebView wv = new WebView(this); // Flash等のプラグインを有効にする wv.getSettings().setPluginState(WebSettings.PluginState.ON); ... }
ここで、たとえば HOMEボタンの押下等でアプリを中断するときに、Flash等WebViewの動作自体も止めたくなります。
たとえば、Flash内でBGM等の音声が流れているとして、backgroundに回った時には止めたい、とか。
ActivityのonPauseで、再度 setPluginState(WebSettings.PluginState.OFF)しても反映されず、、、。
かなり困っていたのですが、こんな感じで制御できました。
@Override protected void onPause() { try { WebView.class.getMethod("onPause").invoke(wv); } catch (...) { } } @Override protected void onResume() { try { WebView.class.getMethod("onResume").invoke(wv); } catch (...) { } }
当たり前ではありますが、WebViewのonPauseを呼ぶことで制御できました。
Activity内のWebViewであることをキチンと意識しないとなぁ。。。