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

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

19 голосов
/ 08 июня 2010

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

Ответы [ 3 ]

20 голосов
/ 08 июня 2010

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

webview.getSettings().setPluginsEnabled(true);
4 голосов
/ 08 июля 2011

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

Я использовал этот пример, чтобы проверить этот код и убедиться, что он работает. В этом примере файл 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

2 голосов
/ 12 января 2016

Функция WebView.getSettings().setPluginsEnabled(); метод имеет устарел начиная с уровня API 9 и удален с уровня API 18.

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

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

Цитируется из источник

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...