2010-06-08 7 views
19

J'ai des problèmes avec cela. Si je vais directement à un fichier SWF dans le navigateur, cela fonctionne très bien. Si j'essaie d'utiliser loadUrl sur un fichier SWF, il reste vide et ne charge rien.Charger un fichier SWF dans un WebView

+1

s'il vous plaît envoyez-moi le code de swf charge dans WebView –

+1

quelqu'un me donner code entier? –

Répondre

21

Compris. Vous devez activer les plugins.

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

ne fonctionne plus –

+0

"méthode a été abandonnée depuis le niveau API 9, et a été supprimée au niveau de l'API 18", note frmo ma réponse ci-dessous. – Darpan

4

Niky, vous avez un exemple de code here.

J'ai utilisé cet exemple pour tester ce code et confirmer que cela fonctionne. Dans cet exemple, qualibus.swf est contenu dans les actifs de l'application. S'il vous plaît tester cela sur un périphérique réel, comme sur l'émulateur, il affiche une page blanche (probablement le lecteur flash n'est pas présent sur l'émulateur)

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> 

Résultat:

Application running and displaying swf in web view

+0

désolé je suis appliqué la même procédure mais http://stackoverflow.com/questions/9308712/how-to-run-the-swf-file-in-android-emulator ai obtenu cette erreur – VENKI

+4

je ne peux pas trouver wv. getSettings(). setPluginsEnabled (true); méthode ... je ne peux trouver que webView.getSettings(). setPluginState (PluginState.ON); méthode ... s'il vous plaît aidez-moi –

2

La fonction méthode WebView.getSettings().setPluginsEnabled(); a été dépréciées depuis le niveau de l'API 9, et a été supprimée dans le niveau de l'API 18.

Vous pouvez utiliser la fonction nouvelle WebView.getSettings().setPluginState(WebSettings.PluginState.ON);
qui a été ajouté au niveau de l'API 8 et a été dépréciée dans le niveau de l'API 18.

Selon les API de WebSettings Documentation au-delà de 18, ne prend pas en charge les plugins; Je suppose que c'est parce que le support principal au support était flash qui adobe n'est plus en développement pour mobile.

Cité de source

Donc, pour l'instant, vous pouvez l'utiliser jusqu'à 18, et gérer la compatibilité avec les API plus (malheureusement)

Questions connexes