Подтвердить что ты не робот

Загрузите SWF в WebView

У меня проблемы с этим. Если я перейду на SWF прямо в браузере, он будет работать нормально. Если я попытаюсь использовать loadUrl в SWF файле, он останется пустым и ничего не загрузит.

4b9b3361

Ответ 1

Выяснил это. Вы должны включить плагины.

webview.getSettings().setPluginsEnabled(true);

Ответ 2

Ники, у вас есть пример кода здесь.

Я использовал этот пример для проверки этого кода и подтверждения его работы. В этом примере qualibus.swf содержится в активах приложения. Протестируйте это на реальном устройстве, так как на эмуляторе отображается пустая страница (возможно, флеш-плеер отсутствует на эмуляторе)

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

Ответ 3

Метод WebView.getSettings().setPluginsEnabled(); имеет был устаревшим с уровня API 9 и был удален в уровне API 18.

Вы можете использовать новую функцию WebView.getSettings().setPluginState(WebSettings.PluginState.ON);, который был добавлен в уровень API 8 и был устарел в уровне API 18.

В соответствии с уровнями API документации WebSettings после 18 не поддерживает плагины; Я предполагаю это, потому что основной плагин поддержка была флэш-память, которая больше не разрабатывается для мобильных устройств.

Цитата из источника

Итак, на данный момент вы можете использовать его до 18 и обрабатывать совместимость с более высокими API (к сожалению)