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

Posted

技术标签:

【中文标题】有没有办法将swf文件加载到android中【英文标题】:Is there any way to load swf file into andoird 【发布时间】:2019-11-21 19:59:52 【问题描述】:

我正在将 SWF 文件加载到 Andriod 中。

我正在尝试使用 webview,但出现错误无法加载插件

String text="<html>\n" +
        "  <head>\n" +
        "    <meta http-equiv=\"Content-Type\" content=\"text/html\" charset=\"UTF-8\" />\n" +
        "  </head>\n" +
        "  <body>\n" +
        "<h1>jvjhvjhv</h1>\n"+
        "    <object width=\"215\" height=\"140\">\n" +
        "      <param name=\"movie\" value=\"airplane.swf\">\n" +
        "        <embed src=\"file:///android_asset/airplane.swf\"\n" +
        "               width=\"215\" height=\"140\">\n" +
        "        </embed>\n" +
        "    </object>\n" +
        "  </body>\n" +
        "</html>";
private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mWebView = (WebView)findViewById(R.id.web);
    mWebView.getSettings().setjavascriptEnabled(true);
    mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
    mWebView.getSettings().setAllowFileAccess(true);
    //mWebView.setWebViewClient(new WebViewClient());
    mWebView.setWebChromeClient(new WebChromeClient());
    mWebView.getSettings().setUserAgentString("Mozilla/5.0 (Mobile; Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAios/2.0");

    mWebView.loadData(text,"text/html","utf-8");

谁能告诉我在android中加载SWF文件的答案?

谢谢

【问题讨论】:

你检查过这个***.com/a/17874647/7666442 看到这个:***.com/questions/42962816/… Play SWF Files on Android Device Without Flash Player Plugin and without webview的可能重复 【参考方案1】:

“我正在将 SWF 文件加载到 Android 中。 我正在尝试使用 WebView,但出现错误提示 "Could not load plug-in"。 谁能给我一个在 Android 中加载 SWF 文件的答案?”

你可以试试:SWF 2 JS。您想保存此文件swf2js.js 并在您自己的 HTML 代码中使用。 成功取决于您的 SWF 文件内容。 SWF2JS 支持 Flash 动画和 AS2 代码。

我没有在 Android WebView(带有动态 HTML 字符串)中对此进行测试,但在 PC 上,它希望文件可以从在线访问或通过设备的本地主机服务器访问。

如果加载动画有任何问题。尝试使用来自以下位置的文件:https:// 而不是 file:///

演示(测试这些是否可以显示在您的 Android 设备上):

1) Flash 图形:https://vcone.github.io/public/flash/demo1.html

2) 游戏代码:https://vcone.github.io/public/flash/demo2.html

如果上述 SWF 文件适用于 Android,那么您可以尝试以下嵌入代码:

<head>
<script type="text/javascript" src="file:///android_asset/swf2js.js"></script>
</head>

<body>

ADROID TEST: Displaying SWF with JavaScript and HTML5 Canvas... <br><br>

<div id="myFlashDiv" style="width:800px; height:800px;"></div>

<script type="text/javascript">

var mySWF = swf2js;
mySWF.load('file:///android_asset/airplane.swf', "tagId": "myFlashDiv");

</script>

</body>

【讨论】:

以上是关于有没有办法将swf文件加载到android中的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中播放 .swf 文件?

如何从 S3 在 android 游戏中加载 swf 文件

将 SWF 加载到 WebView

如何将 swf 文件从内存加载到 QWebEngineView

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

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