2011-06-30 5 views
1

J'ai un problème lorsque je charge le fichier SWF interactif dans l'émulateur Android. J'utilise 2.3.1 AVD.chargement du fichier swf problème dans Android

Voici le code:

package com.androidpeople.view; 

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

    public class WebViewExample extends Activity { 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      /*WebView webView = (WebView) findViewById(R.id.webview); 
      webView.getSettings().setJavaScriptEnabled(true); 
      webView.loadUrl("http://www.androidpeople.com"); 

      webView.setWebViewClient(new HelloWebViewClient());*/ 

      String html = 
       "<object width=\"550\" height=\"400\"> <param name=\"movie\" value=\"file:///android_asset/FL.swf\"> <embed src=\"file:///android_asset/FL.swf\" width=\"550\" height=\"400\"> </embed> </object>"; 
       String mimeType = "text/html"; 
       String encoding = "utf-8"; 

      WebView wv=(WebView) findViewById(R.id.webview); 
      wv.getSettings().setJavaScriptEnabled(true); 
      wv.getSettings().setPluginsEnabled(true); 
      wv.loadDataWithBaseURL("null", html, mimeType, encoding, ""); 
      wv.setWebViewClient(new HelloWebViewClient()); 



     } 
    } 


package com.androidpeople.view; 

import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class HelloWebViewClient extends WebViewClient { 

@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    view.loadUrl(url); 
    return true; 
} 

} 

fichier Manifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.androidpeople.view" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".WebViewExample" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

</application> 
<uses-sdk android:minSdkVersion="5" /> 

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

</manifest> 

Maintenant, le problème est que quand je lance le projet, il donnera une fenêtre à centre côté droit dimension 3D comme:

this is the image

J'ai aussi essayé de changer fichier SWF différent-différent, mais ne peut pas obtenir une solution appropriée.

Quelqu'un peut-il m'aider? Merci.

+1

Est-ce votre lien correct, par exemple Si vous ajoutez une balise liée à file: ///android_asset/FL.swf, pouvez-vous télécharger le fichier? –

+2

@niky: Une partie de la raison pour laquelle vous n'avez pas de réponse est que vous n'avez pas posé de question, autre que "quelqu'un peut-il m'aider?". – CommonsWare

+0

ya son totalement correct et je l'ai vérifié plusieurs fois –

Répondre

3

Remplacer

wv.loadDataWithBaseURL("null", html, mimeType, encoding, ""); 

avec

wv.loadData(html, mimeType, encoding, ""); 
wv.getSettings().setJavaScriptEnabled(true); 
+0

j'ai le même problème avec l'émulateur je l'ai fait comme vous le suggérez, mais tout ce que je suis arrivé est juste le symbole bleu dans l'image ci-dessus a disparu, mais incapable de voir l'animation et tout mon code était correct, j'ai posté la question ici s'il vous plaît aidez-moi ! http://stackoverflow.com/questions/9308712/how-to-run-the-swf-file-in-android-emulator – VENKI

3

C'est juste parce que vous devez installer Flash Player. Téléchargez l'apk à partir du site Web adobe et installez-le sur l'émulateur.

+0

j'ai installer flash player mais toujours obtenir résoudre le problème –

+0

Est-ce que le travail lorsque vous naviguez sur le web? les animations flash sont-elles affichées? –

+0

yo. et aussi, mon développeur flash génère un apk via Adobe-Air et quand ils testent dans l'appareil, il fonctionne bien mais quand j'essaye de faire de cette façon tout fichier swf interactif j'ai eu du mal à charger dans l'appareil. encore une chose que je veux vous dire est que quand j'essaye de charger le dossier de swf non-interactif cela fonctionnera bien. mais le problème est soulevé ici .... –

0

Flash ne peut pas fonctionner sur l'émulateur!
Au moins, je n'ai pas trouvé un moyen de le faire. Mais, vous pouvez télécharger un fichier APK de this site et l'installer sur votre appareil. Ensuite, en utilisant le code suivant, j'ai flash pour travailler.

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    WebView webView = (WebView) findViewById(R.id.webview); 
    webView.getSettings().setPluginState(WebSettings.PluginState.ON); 
    webView.loadUrl("http://www.adobe.com/software/flash/about/"); 
} 

En activity_main.xml:

<WebView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/webview" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
/> 
Questions connexes