启动屏幕android phonegap计时

时间:2013-08-31 11:32:52

标签: android eclipse callback splash

我在this answer中找到了这段代码:

super.onCreate(savedInstanceState);
super.setIntegerProperty("splashscreen", R.drawable.splash);
super.loadUrl("file:///android_asset/www/index.html",5000);

它有效,但像这样,结果是:

  • 启动画面5秒

  • 应用程序就绪之前的黑屏

  • 应用程序就绪时
  • index.html

所以我想知道是否有机会运行这个

super.loadUrl("file:///android_asset/www/index.html");

作为一些现成功能的回调,有办法吗?

-EDIT-

将其更改为10秒并不会显示黑屏,但我想将index.html与应用程序准备就绪的时刻完全相同(不会更快,不会更晚:D)

4 个答案:

答案 0 :(得分:1)

        // Show LOGO ,start to  MainActivity that watting for some seconds
        new Handler().postDelayed(new Runnable() {
            public void run() {
                /*
                 * Create an Intent that will start the Main WordPress
                 * Activity.
                 */
                //
                RedirectMainActivity();
            }
        }, 4000);

答案 1 :(得分:0)

Android不提供任何原生API来处理Splash Screen 但您可以使用Handler来显示虚假的闪屏。

  //load the splash screen
  super.loadUrl("file:///android_asset/www/someSplashScreen.html");
  new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
                    // splash screen successfully timeout
                    //start new activity or load html layout
                     super.loadUrl("file:///android_asset/www/index.html");

        }
    }, 4000);//timeout after 4 sec

答案 2 :(得分:0)

你有没试过这个?

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;



     public class Splash extends Activity {

            private final int SPLASH_DISPLAY_LENGHT = 1000;

            /** Called when the activity is first created. */
            @Override
            public void onCreate(Bundle icicle) {
                super.onCreate(icicle);
                setContentView(R.layout.splashscreen);

                /* New Handler to start the Menu-Activity 
                 * and close this Splash-Screen after some seconds.*/
                new Handler().postDelayed(new Runnable(){
                    @Override
                    public void run() {
                        /* Create an Intent that will start the Menu-Activity. */
                        Intent mainIntent = new Intent(Splash.this,Menu.class);
                        Splash.this.startActivity(mainIntent);
                        Splash.this.finish();
                    }
                }, SPLASH_DISPLAY_LENGHT);
            }
        }

答案 3 :(得分:0)

在指向上一个问题的链接中,还有一个指向Blog

的链接

据称,对于PhoneGap的1.8.0版本,您可以拨打navigator.splashscreen.hide();

检查博客(阅读所有内容,因为前两段有点误导)。