フラッシュを使用して、Web ビューで YouTube ビデオを再生したいと考えています。
たとえば、WebView が youtube.com を読み込み、ビデオをクリックすると、制限なしで完全に再生されます。現在、Flash Player の画像が壊れた灰色のビデオが表示されます。
私は追加しようとしました:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState( WebSettings.PluginState.ON );
android:hardwareAccelerated="true"
また、マニフェスト XML にも追加しましたが、うまくいきませんでした。
Nexus 7でこれを実行していますが、これが違いを生むかどうかわかりません. インターネットの隅々までチェックしましたが、解決策が見つかりませんでした。
WebView mWebView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.setWebViewClient(new ClientOP());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState( WebSettings.PluginState.ON );
mWebView.loadUrl("http://www.youtube.com");
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private class ClientOP extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
System.out.println("URL: " + url);
view.loadUrl(url);
return true;
}
}