有没有办法将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中的主要内容,如果未能解决你的问题,请参考以下文章
如何将 swf 文件从内存加载到 QWebEngineView