将SWF加载到WebView中

我有这个问题。 如果我直接在浏览器中使用SWF,它可以正常工作。 如果我试图在SWF文件上使用loadUrl,它将保持空白,并且不会加载任何内容。

  • 在WebView中,有没有办法让shouldOverrideUrlLoading确定它是否正在捕获重定向而不是用户单击链接?
  • 从WebView保存图像
  • webview的自定义字体
  • 如何在Android中自动滚动到input字段,当软键盘显示时与它们重叠?
  • 不在新浏览器中打开webview
  • 视口适合屏幕宽度和大图像
  • 带有JavaScript界面​​的Webview
  • 滚动选项卡中的片段时隐藏/显示工具栏
  • 弄清楚了。 你必须启用插件。

    webview.getSettings().setPluginsEnabled(true); 

    Niky,你有一个代码示例。

    我已经使用这个例子来testing这个代码,并确认它的工作原理。 在这个例子中,qualibus.swf包含在应用程序的资源中。 请在实际的设备上testing,如在模拟器上显示一个空白页面(可能是模拟器上没有flash player)

    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> 

    结果:

    应用程序在web视图中运行并显示swf

    函数WebView.getSettings().setPluginsEnabled(); 方法从API级别9开始已被弃用,并在API级别18中被删除。

    你可以使用新的函数WebView.getSettings().setPluginState(WebSettings.PluginState.ON);
    它在API级别8中添加,并在API级别18中弃用。

    根据WebSettings文档API超过18的水平将不支持插件; 我假设这是因为支持的主要插件是Flash,哪个Adobe不再为移动开发。

    从源引用

    所以,现在你可以使用它到18,并处理与更高的API的兼容性(可悲)