将 SWF 加载到 WebView

Posted

技术标签:

【中文标题】将 SWF 加载到 WebView【英文标题】:Load an SWF into a WebView 【发布时间】:2011-02-28 23:06:39 【问题描述】:

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

【问题讨论】:

请把 swf 加载到 webview 的代码发给我 【参考方案1】:

想通了。您必须启用插件。

webview.getSettings().setPluginsEnabled(true);

【讨论】:

“方法自 API 级别 9 起已被弃用,并在 API 级别 18 中被删除”,请注意下面我的回答。【参考方案2】:

Niky,你有一个代码示例here。

我已使用此示例测试此代码并确认其有效。在此示例中,qualibus.swf 包含在应用程序的资产中。请在实际设备上进行测试,因为在模拟器上它显示一个空白页面(可能模拟器上没有 Flash 播放器)

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_
    android:layout_
    >
<WebView android:id="@+id/webView1" 
    android:layout_ 
    android:layout_>
</WebView>
</LinearLayout>

结果:

【讨论】:

对不起,我已经应用了相同的程序,但 ***.com/questions/9308712/… 收到此错误 我找不到 wv.getSettings().setPluginsEnabled(true);方法...我只能找到 webView.getSettings().setPluginState(PluginState.ON);方法...请帮助我【参考方案3】:

函数WebView.getSettings().setPluginsEnabled();方法有 自 API 级别 9 起已弃用,并在 API 级别 18 中删除。

您可以使用较新的功能 WebView.getSettings().setPluginState(WebSettings.PluginState.ON); 在 API 级别 8 中添加,在 API 级别 18 中已弃用。

根据 WebSettings 文档 API 级别超过 18 级将 不支持插件;我假设这是因为主要插件 支持的是 flash,adobe 不再为移动设备开发。

引自source

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

【讨论】:

以上是关于将 SWF 加载到 WebView的主要内容,如果未能解决你的问题,请参考以下文章

将 AS2 SWF 加载到 AS3 SWF 中并在 URL 中传递变量

有没有办法将swf文件加载到android中

将用户上传的图像加载到视频中(可能是 swf)

如何使用 php readfile 将 swf 加载到另一个 swf 并保留 url 参数?

如何将 Flex 编译的 SWF 加载到 Flash CS4 编译的 SWF 中

将变量从html加载到swf中(正确的方式)