我遇到了这个问题。如果我直接在浏览器中访问SWF,它可以正常工作。如果我尝试在SWF文件上使用loadUrl,它将保持空白并且不加载任何内容。
答案 0 :(得分:20)
想出来。你必须启用插件。
webview.getSettings().setPluginsEnabled(true);
答案 1 :(得分: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>
结果:
答案 2 :(得分:2)
函数
WebView.getSettings().setPluginsEnabled();
方法具有 自API级别9以来已被弃用,并已在API级别18中删除。您可以使用更新的功能
WebView.getSettings().setPluginState(WebSettings.PluginState.ON);
已在API级别8中添加,并在API级别18中弃用。根据WebSettings Documentation API将超过18级 不支持插件;我假设它是因为主插件 支持是闪存,adobe不再为移动设备开发。
引自source
所以,现在你可以使用它直到18,并处理与更高API的兼容性(遗憾地)