2012-02-07 5 views
0

私はちょうどICSのための私のアプリを更新しようとするいくつかの調査を行っている。 HTMLを経由してフルスクリーンに私のWebViewのフラッシュコンテンツを配置するか、長いFlashコンテンツを押すと全体の内容は、単にAndroidのICSソースの周りに狩猟した後、私は基本的に隠れてAndroid ICS 4.0 Flash WebViewをフルスクリーン呼び出しに配置するhideAllメソッド?

android.webkit.PluginFullScreenHolder 

PluginFullScreenHolder

public void show() { 
    // Other plugins may attempt to draw so hide them while we're active. 
    if (mWebView.getViewManager() != null) 
     mWebView.getViewManager().hideAll(); 

    WebChromeClient client = mWebView.getWebChromeClient(); 
    client.onShowCustomView(mLayout, mOrientation, mCallback); 
} 

void hideAll() { 
    if (mHidden) { 
     return; 
    } 
    for (ChildView v : mChildren) { 
     v.mView.setVisibility(View.GONE); 
    } 
    mHidden = true; 
} 

その中でこれを見つけた消えます私のWebView全体をフルスクリーンで選択すると、これはデフォルトブラウザでは起こりません。この方法にはアクセスできません。これをどうすれば解決できますか?

ご協力いただきまして誠にありがとうございます。

ベスト

デビッド

答えて

0

こっち私の答えを参照してください:

flash player crashes when trying to enter fullscreen mode android 4.0

これは私がこの問題を解決する方法です。それが役に立てば幸い。

+0

ちょっと私はクラッシュが早い段階で見つかったと修正しました。私の問題は、ICSクラスがwebview View、View.GONEを作るフルスクリーンにフラッシュを置くときです。 – user1195403

0

私はonShowCustomViewの方法を無効にすることで上記の問題を解決しました。 これがうまくいく場合は試してください。以下は私のコードです。

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) {     
        base.addView(view, new FrameLayout.LayoutParams(
        ViewGroup.LayoutParams.FILL_PARENT, 
        ViewGroup.LayoutParams.FILL_PARENT, 
        Gravity.CENTER));     
        base.setVisibility(View.VISIBLE); 
       } 
      } 
     } 

    }); 
+4

このコードスニペットのベースとは何ですか?トップレベルのウィンドウデコレーションビューですか? – kasgoku

+0

ベースは何ですか?...ベースにエラーが表示されています – kalandar

0

サイモンの答えをベースとして、私はそれを働かせました。私はFrameLayoutWebViewの親として持っています。それがSimonの答えの基盤です。 onCreate私はwebviewを作成し、それをmWebContainerと呼ばれる私のFrameLayoutに追加します。

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) { 
         mWebContainer.addView(view, new FrameLayout.LayoutParams(
         ViewGroup.LayoutParams.MATCH_PARENT, 
         ViewGroup.LayoutParams.MATCH_PARENT, 
         Gravity.CENTER));     
         mWebContainer.setVisibility(View.VISIBLE); 
        } 
       } 
      } 
     }); 
関連する問題