2010-06-08 19 views
19

Tengo problemas con esto. Si voy a un archivo SWF directamente en el navegador, funciona bien. Si intento usar loadUrl en un archivo SWF, permanece en blanco y no carga nada.Carga un archivo SWF en WebView

+1

por favor enviar el código de la carga swf en vista web –

+1

cualquiera dame todo el código? –

Respuesta

21

Lo descubrí. Tienes que habilitar complementos.

webview.getSettings().setPluginsEnabled(true); 
+1

ya no funciona –

+0

"el método ha quedado obsoleto desde el nivel de API 9, y se eliminó en el nivel de API 18", tenga en cuenta mi respuesta a continuación. – Darpan

4

Niky, usted tiene un ejemplo de código here.

He utilizado este ejemplo para probar este código y confirmar que funciona. En este ejemplo, el qualibus.swf está dentro de los activos de la aplicación. Por favor, prueba esta en un dispositivo real, como en el emulador que se muestre una página en blanco (probablemente el reproductor flash no está presente en el emulador)

Test3Activity.java:

package com.blabla.test3; 

import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebView; 

public class Test3Activity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     String url ="file:///android_asset/qualibus.swf"; 

     WebView wv=(WebView) findViewById(R.id.webView1); 
     wv.getSettings().setPluginsEnabled(true); 
     wv.loadUrl(url); 
    } 
} 

main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
<WebView android:id="@+id/webView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
</WebView> 
</LinearLayout> 

Resultado:

Application running and displaying swf in web view

+0

lo siento, he aplicado el mismo procedimiento pero http://stackoverflow.com/questions/9308712/how-to-run-the-swf-file-in-android-emulator recibí este error – VENKI

+4

no puedo encontrar wv. getSettings(). setPluginsEnabled (true); método ... solo puedo encontrar webView.getSettings(). setPluginState (PluginState.ON); método ... por favor ayúdame –

2

El método de la función WebView.getSettings().setPluginsEnabled(); ha obsoleta desde nivel API 9, y se separó en el nivel API 18.

Puede utilizar la función más reciente WebView.getSettings().setPluginState(WebSettings.PluginState.ON);
que se añadió en el nivel API 8 y está desfasada en el nivel API 18.

De acuerdo con los niveles de la API de documentación de WebSettings más allá de 18 no son compatibles con los complementos; Supongo que es porque el complemento principal para el soporte fue flash, que Adobe ya no está desarrollando para dispositivos móviles.

citado de source

Así que, por ahora se puede usar hasta 18, y manejar la compatibilidad con las API más altas (por desgracia)

Cuestiones relacionadas