2012-05-19 14 views
11

Intenté abrir un archivo SWF en webViewClient y funciona en Android 2.1 y 2.3.3. Pero cuando intento reproducir el mismo archivo SWF en la versión 4.0.4, se produce un error y aparece una pantalla verde en la página videoPlayer.¿Reproduce el archivo SWF en webViewClient en ICS?

oWebView = (WebView) findViewById(R.id.wvhPlayer); 
oWebView.setWebViewClient(new KhWebClient()); 
oWebView.getSettings().setJavaScriptEnabled(true); 
oWebView.getSettings().setPluginsEnabled(true); 
oWebView.getSettings().setAllowFileAccess(true); 
oWebView.getSettings().setBuiltInZoomControls(true); 

String html = " <object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"100%\" height=\"100%\" id=\"vPlayer\" align=\"middle\">" 
      + " <param name=\"movie\" value=\"http://mysite.com/sites/all/modules/player/player.swf?id=0CYj9tI0hpQ" 
      + "\" />" 
      + " <param name=\"quality\" value=\"high\" />" 
      + " <param name=\"bgcolor\" value=\"#000000\" />" 
      + " <param name=\"play\" value=\"true\" />" 
      + " <param name=\"loop\" value=\"true\" />" 
      + " <param name=\"wmode\" value=\"window\" />" 
      + " <param name=\"scale\" value=\"showall\" />" 
      + " <param name=\"menu\" value=\"true\" />" 
      + " <param name=\"devicefont\" value=\"false\" />" 
      + " </object>"; 

oWebView.loadDataWithBaseURL("null", html, "text/html", "utf-8", null); 
+1

En caso de que no las noticias, Adobe planea soltar para Flash en Android. Recomiendo encontrar una alternativa a Flash si desea que este cambio continúe funcionando en JellyBean y versiones posteriores de Android. Consulte (http://lifehacker.com/5922466/remains-of-the-day-adobe-dropping-flash-from-android) para obtener más información. –

Respuesta

1

de acuerdo con esta Question, he utilizado para cargar el archivo SWF en lugar de cargar un html.

su trabajo como un encanto.

  1. Añadir a AndroidManifest.xml

androide: hardwareAccelerated = "true"

2.

oWebView = (WebView) findViewById(R.id.wvhPlayer); 
oWebView.getSettings().setJavaScriptEnabled(true); 
oWebView.getSettings().setPluginState(WebSettings.PluginState.ON); 
oWebView.loadUrl("http://mysite.com/sites/all/modules/player/player.swf?id=0CYj9tI0hpQ"); 
+0

+1 .... nice one man – confucius

+0

hardwareAccelerated = "true" fue agregado desde Android 3.0. Quiero jugar en Android 2.3. Hay algún trabajo alrededor ? –

+0

prueba la solución anterior sin hardwareAccelerated = "true" – Basbous

-1

He encontrado un fallo (uno de ellos) en Android 4.0 con aceleración de hardware en WebViewClient. Por defecto, lo configuran en verdadero, así que intente configurarlo en falso en su manifiesto y dígame qué sucede.

* Si esto soluciona el problema por que no se mueve a Iphone ...

+1

Nothing change android: hardwareAccelerated = "false" – Basbous

Cuestiones relacionadas