Android 4.2.2中的Flash播放器支持

时间:2013-05-08 09:49:27

标签: android webview flash

目标:从webview中的assets文件夹播放swf文件

模拟器中安装的插件:适用于Android 4.0的Flash Player 11.1(11.1.115.54) http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html

代码:

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.swfrun"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />

<application
    android:hardwareAccelerated="true"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" 
    >
    <activity

        android:name="com.example.swfrun.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
   </application>


<uses-permission android:name="android.permission.INTERNET"></uses-permission>

</manifest> 

Mainactivity.java

package com.example.swfrun;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import android.os.Build;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebSettings.RenderPriority;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {

private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mWebView = (WebView) findViewById(R.id.webView1);

    mWebView.setFocusable(true);
    mWebView.setFocusableInTouchMode(true);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setPluginsEnabled(true);
    mWebView.getSettings().setRenderPriority(RenderPriority.HIGH);
    mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    mWebView.getSettings().setDomStorageEnabled(true);
    mWebView.getSettings().setDatabaseEnabled(true);
    mWebView.getSettings().setAppCacheEnabled(true);
    mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    mWebView.setWebViewClient(new WebViewClient());

    WebSettings ws = mWebView.getSettings();

    ws.setJavaScriptEnabled(true);
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setPluginState(PluginState.ON);


    mWebView.loadUrl("file:///android_asset/2.swf");

    }

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

    }

结果:在网页视图中显示黑屏。

当使用初始版本的Flash插件时,黑色屏幕的中央会显示一个框。还应该注意到

使用的编译器:API 17:Android 4.2.2 Jelly Bean

尽管有人说Flash已经停止使用更高版本的android的插件,它应该可以在4.0以下工作吗?

如果有人能说清楚,那将是非常感激的。如果使用了错误的插件,请告诉我找到正确插件的位置。

0 个答案:

没有答案