загрузка SWF-файла на эмуляторе Android - PullRequest
0 голосов
/ 10 января 2012

Привет, я новичок в разработке 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;
      }

 }

Может кто-нибудь сказать, как мы можем решить эту проблему ..?

Можем ли мы загрузить SWF, косвенно указав URL-адрес вместо пути к файлу из system-directory .?

Эксперты, пожалуйста, помогите ... Заранее спасибо ..

1 Ответ

1 голос
/ 19 января 2012

@ 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-файл в эмулятор, так как вы не можете загрузить FlashPlayer в эмулятор AFAIK.Но я думаю, что вы можете вручную поместить файлы библиотеки flashplayer в ваш эмулятор, чтобы это работало, хотя я лично не пробовал.(Я все еще смотрю, где на устройстве находятся библиотеки flashplayer, чтобы я мог скопировать его).

Надеюсь, это поможет вам.

...