WebView没有';不能在Android上播放swf文件
我正在为android 3.0平板电脑开发一个应用程序,它应该在WebView中播放swf文件。 首先,我试图从设备上打开swf文件,而不是通过互联网,但没有成功。 WebView出现了,但在WebView内部,我只能看到一个黑屏(右边有一条3-4px宽的白线)。 如果我将相同的URL加载到设备浏览器中,flash文件会播放得很好。 我想我在WebView设置中遗漏了一些东西,但是经过几个小时的搜索和谷歌搜索,我仍然不知道是什么 Java代码:WebView没有';不能在Android上播放swf文件,android,flash,android-webview,Android,Flash,Android Webview,我正在为android 3.0平板电脑开发一个应用程序,它应该在WebView中播放swf文件。 首先,我试图从设备上打开swf文件,而不是通过互联网,但没有成功。 WebView出现了,但在WebView内部,我只能看到一个黑屏(右边有一条3-4px宽的白线)。 如果我将相同的URL加载到设备浏览器中,flash文件会播放得很好。 我想我在WebView设置中遗漏了一些东西,但是经过几个小时的搜索和谷歌搜索,我仍然不知道是什么 Java代码: public void onCreate(Bun
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.presentation);
presentationWebView = (WebView) findViewById(R.id.presentation_webview);
presentationWebView.getSettings().setJavaScriptEnabled(true);
presentationWebView.getSettings().setPluginsEnabled(true);
presentationWebView.getSettings().setAllowFileAccess(true);
presentationWebView.loadUrl("http://my_domain/fileName.swf");
}
presentation.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<WebView
android:id = "@+id/presentation_webview"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"/>
</LinearLayout>
非常感谢你的回答。
Ripityom我只是将您的代码复制粘贴到一个新项目中,更改了swf文件的位置,它工作得非常好。(在.swf文件完成下载之前,屏幕是空白的,在某些情况下可能需要一段时间)
您的应用程序是否具有INTERNET权限?URL绝对正确吗?尝试使用两个不同的SWF文件,看看是否有差异 我只是将您的代码复制粘贴到一个新项目中,更改了swf文件的位置,它工作得非常好。(在.swf文件完成下载之前,屏幕是空白的,在某些情况下可能需要一段时间) 您的应用程序是否具有INTERNET权限?URL绝对正确吗?尝试使用两个不同的SWF文件,看看是否有差异 我终于拿到了! 只需要添加属性
android:hardwareAccelerated = "true"
到我的清单文件。我终于拿到了!
只需要添加属性
android:hardwareAccelerated = "true"
到我的清单文件。Thx Pipityom。属性“android:hardwareAccelerated”拯救了我的生命。也为我工作 这里我发布了android开发者文档中的解释“从Android 3.0开始,应用程序可以使用硬件加速的OpenGL渲染器,以提高许多常见2D图形操作的性能。启用硬件加速渲染器后,画布、绘制、Xfermode、颜色过滤器、着色器和摄影机中的大多数操作都会加速。这会使动画更流畅,滚动更流畅,整体响应性也得到改善,即使对于没有明确使用该框架的OpenGL库的应用程序也是如此
请注意,并非所有OpenGL 2D操作都会加速。如果启用硬件加速渲染器,请测试您的应用程序,以确保它可以毫无错误地使用渲染器。“Thx Pipityom。属性“android:hardwareAccelerated”拯救了我的生命。也适用于我 在这里,我发布了android开发者文档中的解释“从android 3.0开始,应用程序可以使用硬件加速的OpenGL渲染器,以提高许多常见2D图形操作的性能。启用硬件加速渲染器后,画布、绘制、Xfermode、颜色过滤器、着色器和摄影机中的大多数操作都会加速。这会使动画更流畅,滚动更流畅,整体响应性也得到改善,即使对于没有明确使用该框架的OpenGL库的应用程序也是如此
请注意,并非所有OpenGL 2D操作都会加速。如果启用硬件加速渲染器,请测试应用程序以确保它可以正确使用渲染器。“可能的副本似乎提供了解决方案。可能的副本似乎提供了解决方案。这很有趣!我可以问一下在这个案例中使用了什么设备和版本的Android吗?在我的两台设备上,swf文件在没有启用硬件加速设置的情况下工作。。。android:hardwareAccelerated=“true”。。。老实说…它救了我一天!!!真有趣!我可以问一下在这个案例中使用了什么设备和版本的Android吗?在我的两台设备上,swf文件在没有启用硬件加速设置的情况下工作。。。android:hardwareAccelerated=“true”。。。老实说…它救了我一天!!!