你是android开发的新手。我创建了一个应用程序,我需要将swf文件加载到模拟器中。为此,我将一个swf文件放在prjt-workspace / assets / test.swf中 从代码我试图将此SWF加载到WebView中。在尝试运行此命令但获取空白页时,我在logcat上收到以下错误:
01-10 15:26:00.271: D/WebCore(10262): Console: Not allowed to load local
resource: file:///E:/android_new_workspace/FirstAndroidPrjt/assets/Demo_mobile.swf
line: 0 source:
以下是我使用的代码部分:
public class WebViewExample extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loadswf);
String html =
"<object width=\"550\" height=\"400\"><param name=\"movie\" value=\"file:///E:/android_new_workspace/FirstAndroidPrjt/assets/Demo_mobile.swf\">" +
"<embed src=\"file:///E:/android_new_workspace/FirstAndroidPrjt/assets/Demo_mobile.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());
}
}
public class HelloWebViewClient extends WebViewClient{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
任何人都可以告诉我们如何解决这个问题..?
我们可以通过直接从系统目录中提供url而不是filepath来加载swf吗?
专家请帮助...提前致谢..
答案 0 :(得分:1)
@Tijo:您可以使用:webview.loadUrl("file:///android_asset/myown.swf");
或者你可以这样做:<embed src=\"file:///android_asset/BannerRotatorFX.swf\" width=\"550\" height=\"400\"> </embed> </object>";
您无法使用系统目录中的filepath。但是你可以将swf文件放在android应用程序的资源文件夹中
AFAIK,您无法在模拟器中默认加载swf,因为您无法在模拟器AFAIK中下载Flashplayer。但我认为你可以手动将flashplayer库文件放在你的模拟器中,以便这个工作,虽然我没有亲自尝试过。 (我仍然在寻找flashplayer库所在设备的位置,以便我可以复制它。)
我希望这会对你有所帮助。