У меня проблемы с этим. Если я перехожу к SWF прямо в браузере, он работает нормально. Если я попытаюсь использовать loadUrl для SWF-файла, он останется пустым и ничего не загрузит.
Загрузите SWF в WebView
Ответы (3)
Догадаться. Вы должны включить плагины.
webview.getSettings().setPluginsEnabled(true);
Ники, у вас есть пример кода здесь.
Я использовал этот пример, чтобы проверить этот код и убедиться, что он работает. В этом примере 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);
}
}
основной.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>
Результат:
Метод функции
WebView.getSettings().setPluginsEnabled();
устарел, начиная с уровня API 9, и был удален в уровне API 18.Вы можете использовать более новую функцию
WebView.getSettings().setPluginState(WebSettings.PluginState.ON);
которая была добавлена на уровне API 8 и устарела на уровне API 18.Согласно API-интерфейсу WebSettings, уровни выше 18 не будут поддерживать плагины; Я предполагаю, что это потому, что основным плагином для поддержки был flash, который Adobe больше не разрабатывает для мобильных устройств.
Цитата из источника
Итак, на данный момент вы можете использовать его до 18 лет и поддерживать совместимость с более высокими API (к сожалению)