程序启动时播放 .swf 文件

我想在用户点击程序图标时,程序开启时播放 .swf 文件,然后我想开启程序的 activity。怎么实现?
我使用的代码如下:

private static int SPLASH_TIME_OUT = 3000;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.startup);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                // This method will be executed once the timer is over
                // Start your app main activity
                String localUrl ="file:///android_asset/Kiss-o-meter.swf";

                WebView wv=(WebView) findViewById(R.id.webview);
                wv.getSettings().setPluginState(PluginState.ON);
                wv.loadUrl(localUrl);       

                Intent yes_krao = new Intent(Splash_Screen.this, KissingMeter.class);
                startActivity(yes_krao);
                finish();
            }
        }, SPLASH_TIME_OUT);
    }  

xml 文件:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
              android:orientation="vertical" 
              android:layout_width="fill_parent" 
              android:layout_height="fill_parent"> 

     <WebView android:id="@+id/webview" 
              android:layout_width="fill_parent" 
              android:layout_height="fill_parent"/>

</LinearLayout> 

上面的代码有什么错误啊?好像没有执行, setPluginsEnabled(true); 也没有在eclipse 中运行。

该回答引用ChatGPT

根据你的描述和代码,你的应用程序在启动时尝试加载本地的 .swf 文件并将其显示在一个 WebView 中,同时启动另一个 Activity。


但是,根据 Android 官方文档,Android 4.4 及以后的版本不再支持 Adobe Flash Player,因此你不能使用 WebView 加载 .swf 文件。相反,你应该考虑使用其他格式的媒体文件,如 MP4、WebM 等。


另外,在你的代码中,setPluginState 方法已经被弃用。正确的做法是调用 getSettings().setPluginState(WebSettings.PluginState.ON) 来启用插件。


最后,你需要确保在 AndroidManifest.xml 文件中正确地声明了 KissingMeter Activity。


以下是更新后的示例代码:

private static int SPLASH_TIME_OUT = 3000;

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

    WebView wv = findViewById(R.id.webview);
    wv.getSettings().setPluginState(WebSettings.PluginState.ON);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {
            // 页面加载完成后启动 Activity
            Intent yes_krao = new Intent(Splash_Screen.this, KissingMeter.class);
            startActivity(yes_krao);
            finish();
        }
    });
    wv.loadUrl("file:///android_asset/your_video.mp4");
}

请注意,我在代码中假设你已经将一个 MP4 视频文件命名为 your_video.mp4 并将其放置在应用程序的 assets 文件夹中。


此外,我还为 WebView 设置了一个 WebViewClient,当页面加载完成后会自动启动 KissingMeter Activity。这样可以确保页面加载完成后再启动 Activity,以避免可能的错误。


最后,请确保你的 AndroidManifest.xml 文件中正确声明了 KissingMeter Activity,类似于以下示例:

<activity android:name=".KissingMeter">
    <!-- 可选:声明该 Activity 为启动 Activity -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>