Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WebView没有';不能在Android上播放swf文件_Android_Flash_Android Webview - Fatal编程技术网

WebView没有';不能在Android上播放swf文件

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

我正在为android 3.0平板电脑开发一个应用程序,它应该在WebView中播放swf文件。 首先,我试图从设备上打开swf文件,而不是通过互联网,但没有成功。 WebView出现了,但在WebView内部,我只能看到一个黑屏(右边有一条3-4px宽的白线)。 如果我将相同的URL加载到设备浏览器中,flash文件会播放得很好。 我想我在WebView设置中遗漏了一些东西,但是经过几个小时的搜索和谷歌搜索,我仍然不知道是什么

Java代码:

 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”。。。老实说…它救了我一天!!!