WebView 内で Flash を再生できることに依存するアプリを構築していますが、Flash ビデオが全画面表示されるまで、すべてが期待どおりに機能することがわかりました。フルスクリーンを要求すると、画面が黒くなり、音声が約 5 秒間続きます。
最初は画面が白くなっていることに気付きましたが、以下の記事の解決策を採用して、ゴールポストを移動しました. Android ICS 4.0 Flash WebView をフルスクリーン呼び出し hideAll メソッドに配置しますか?
final WebView mWebView = (WebView)findViewById(R.id.webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setPluginState(WebSettings.PluginState.ON);
webSettings.setJavaScriptEnabled(true);
mWebView.requestFocusFromTouch();
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient(){
public void onShowCustomView(View view, int requestedOrientation, WebChromeClient.CustomViewCallback callback){
super.onShowCustomView(view, callback);
if(Build.VERSION.SDK_INT >=14) {
if (view instanceof FrameLayout) {
mWebView.addView(view, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT,
Gravity.CENTER));
mWebView.setVisibility(View.VISIBLE);
}
}
}
});
全画面フラッシュ ビデオが開始すると、logcat に次のように表示されます。
08-11 15:09:47.435: V/VideoSurfaceView(23871): surfaceCreated
08-11 15:09:47.435: V/VideoSurfaceView(23871): surfaceChanged フォーマット = 842094169、幅 = 480、高さ = 690
次の回答は、ブラウザからの BaseUI クラスに似た onShowCustomView の実装を参照しています。showCustomView と呼ばれる非常によく似たメソッドがあります。コードをハックして BaseUI クラスのコンテンツを追加しようとしましたが、驚くべきことにコードをコンパイルして実行することができましたが、盲目的な違いはありませんでした。
Android 4.0 でフルスクリーン モードに入ろうとすると、Flash Player がクラッシュする
アイデアと助けを事前にありがとう....