2016-05-11 15 views
0

Ich habe eine SWF-Datei, die ich auf Android spielen möchte, aber da swf nicht offiziell auf Android 4.0 + unterstützt wird, verwende ich Google Swiffy, um SWF zu HTML5 zu konvertieren. Ich habe diesen Code versucht, aber es funktioniert nicht, Webview zeigt nur weißen leeren Bildschirm.Swiffy zeigt nicht in Android-Webview

public class MainActivity extends AppCompatActivity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.webview); 
     WebView wv; 
     wv = (WebView) findViewById(R.id.webView1); 
     wv.getSettings().setJavaScriptEnabled(true); 
     wv.loadUrl("file:///android_asset/swiffy.html"); 
    } 
} 

Swiffy Code: https://www.dropbox.com/s/481mlqc8ym497q1/swiffy.html?dl=0

+0

Was ** genau ** funktioniert nicht? Wir sind nicht psychisch. Erklären Sie besser die Unterschiede zwischen dem, was Sie erwarten und was Sie tatsächlich auf Android sehen. Hat es jemals mindestens auf dem Desktop-Browser funktioniert? Kannst du ** swiffy.html ** online stellen, damit wir testen? –

+0

webview zeigt nur weißen leeren Bildschirm, das ist meine swiffy.html Datei https://www.dropbox.com/s/481mlqc8ym497q1/swiffy.html?dl=0 –

Antwort

0

Ungeprüfte im Moment, aber ... Ich frage mich, ob es ein Sicherheitsproblem mit Ihrem HTML ist (auf lokalen Speicher) versuchen, eine Online-Datei zugreifen? Wenn swiffy.html online war, könnte es normal funktionieren, aber da es auf Speicher ist, dann stellen Sie sicher, dass die JS-Datei an derselben Stelle im Speicher ist.

Die Quelle von swiffy.html lädt ein https://www.gstatic.com/swiffy/v7.4/runtime.js

Mögliche fix:
1) speichern JS file an der gleichen Stelle wie Ihre swiffy.html

2) Bearbeiten Sie den Quellcode von swiffy.html, ändern Sie die Zeile unter ...

<script type="text/javascript" src="https://www.gstatic.com/swiffy/v7.4/runtime.js"></script> 

Um so geworden ...

<script type="text/javascript" src="file:///android_asset/runtime.js"></script> 

Speichern unter swiffy_v2.html und testen Sie, dass in Ihrem webView Code wie:

wv.loadUrl("file:///android_asset/swiffy_v2.html"); 

Bearbeiten von Kommentaren:
Eine andere Lösung besteht darin, nur das Zulassen des Internetzugangs in der Manifestdatei der App hinzuzufügen. Dies behebt das Problem des Ladens der Online-JS-Datei aus einer lokalen HTML-Datei.

+0

danke Mann, es funktioniert, wenn ich die JS-Datei in die gleiche speichern Lagerung und Swiffy Datei in wie folgt geändert .. '' und wenn Sie nicht wollen, die JS speichern Datei zum Speicher, fügen Sie einfach Internet-Erlaubnis in Manifest-Datei seine Werke auch .. –

+0

Ahh .. vergessen '' Datei: /// android_asset/'Pfad, aber zumindest Sie verstanden, da es an der gleichen Stelle wie HTML sein muss. Schön, dass es jetzt für dich funktioniert. –