Java 在android emulator上加载swf文件

Java 在android emulator上加载swf文件,java,android,flash,android-webview,swfobject,Java,Android,Flash,Android Webview,Swfobject,嗨,我是android开发的新手。我已经创建了一个应用程序,需要将swf文件加载到模拟器中。为此,我在prjt workspace/assets/test.swf中放了一个swf文件 从代码中,我尝试将这个swf加载到WebView中。尝试运行此操作时,我在logcat上遇到以下错误,但得到一个空白页: 01-10 15:26:00.271: D/WebCore(10262): Console: Not allowed to load local resource: file:///E:/an

嗨,我是android开发的新手。我已经创建了一个应用程序,需要将swf文件加载到模拟器中。为此,我在prjt workspace/assets/test.swf中放了一个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;
      }

 }
公共类WebViewExample扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.loadswf);
字符串html=
"" +
"  ";
字符串mimeType=“text/html”;
字符串编码=“utf-8”;
WebView wv=(WebView)findviewbyd(R.id.WebView);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setPluginsEnabled(true);
wv.loadDataWithBaseURL(“null”,html,mimeType,encoding,”);
setWebViewClient(新的HelloWebViewClient());
}
}
公共类HelloWebViewClient扩展了WebViewClient{
@凌驾
公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url){
view.loadUrl(url);
返回true;
}
}
有人能告诉我们如何解决这个问题吗

我们可以通过从系统目录中间接给出url而不是文件路径来加载swf吗


专家们请帮助…提前感谢..

@Tijo:您可以通过以下方式指定:
webview.loadUrl(“file:///android_asset/myown.swf");

或者你可以这样写:
“;

您无法使用系统目录中的文件路径。但您可以将swf文件放在android应用程序的资产文件夹中

AFAIK,默认情况下,您无法在emulator中加载swf,因为您无法在emulator AFAIK中下载flashplayer。但我认为您可以手动将flashplayer库文件放入您的emulator中,以使其正常工作,尽管我还没有亲自尝试过。(我仍在查找flashplayer库在设备中的位置,以便复制它)


我希望这能对你有所帮助。

是的,这就是问题所在……当我将文件放入实际设备而不是使用模拟器时,我的代码工作正常。代码中无需任何更改。无论如何,谢谢你回答我。