2010-06-08 86 views
19

我遇到了問題。如果我直接在瀏覽器中訪問SWF,它可以正常工作。如果我試圖在SWF文件上使用loadUrl,它將保持空白並不會加載任何內容。將SWF加載到WebView中

+1

請給我SWF負載的代碼放到網頁流量 – 2011-06-30 07:54:34

+1

任何人給我整個代碼? – 2011-07-01 11:35:29

回答

21

想通了。你必須啓用插件。

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

不再起作用 – 2016-02-18 14:50:49

+0

「因爲API 9級的方法已經過時,並在API級別18,除去」,筆記frmo我的回答如下。 – Darpan 2016-07-05 13:36:08

4

Niky,您有一個代碼示例here

我用這個例子來測試此代碼,確認它的工作原理。在這個例子中,qualibus.swf包含在應用程序的資產中。請在實際設備上進行測試,因爲在模擬器上它顯示空白頁面(可能是flash播放器上不存在模擬器)

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> 

結果:

Application running and displaying swf in web view

+0

不好意思,我正在應用了相同的程序,但http://stackoverflow.com/questions/9308712/how-to-run-the-swf-file-in-android-emulator 得到這個錯誤 – VENKI 2012-02-16 11:11:19

+4

我找不到WV。的getSettings()setPluginsEnabled(真)。方法...我只能找到webView.getSettings()。setPluginState(PluginState.ON);方法...請幫助我 – 2013-09-14 05:47:54

2

功能WebView.getSettings().setPluginsEnabled();方法 以來API級9過時,在API級別除去18.

可以使用將其在API級別8加入並在API級別已被廢棄的較新的功能 WebView.getSettings().setPluginState(WebSettings.PluginState.ON);
18.

據超出18將 不支持插件的WebSettings文檔API級別;我假設這是因爲支持 的主要插件是Flash,而Adobe不再爲移動設備開發該插件。

source引用

所以,現在你可以使用它,直到18,和處理具有較高的API(黯然)的兼容性