Java 如果按下home键或back键,则停止以下活动-Android

Java 如果按下home键或back键,则停止以下活动-Android,java,android,Java,Android,我有一个问题,那就是我的飞溅屏幕。它是作为一个介绍和3秒后,它显示了该程序的主菜单。 无论如何,如果我在SplashScreen显示期间按下Back(后退)或Home(主页)按钮,它将关闭,但我选择在SplashScreen之后执行的活动在三秒钟后仍将运行 我的代码:****更新的代码***** Handler ur = new Handler(); myRun = new Runnable() { public void run() {

我有一个问题,那就是我的飞溅屏幕。它是作为一个介绍和3秒后,它显示了该程序的主菜单。 无论如何,如果我在SplashScreen显示期间按下Back(后退)或Home(主页)按钮,它将关闭,但我选择在SplashScreen之后执行的活动在三秒钟后仍将运行

我的代码:****更新的代码*****

    Handler ur = new Handler();
    myRun = new Runnable() {
            public void run() {     
                    mainIntent = new Intent(SplashScreen.this,MyApp.class);
                    SplashScreen.this.startActivity(mainIntent);
                    SplashScreen.this.finish(); 
                    overridePendingTransition(R.anim.fadein,
                            R.anim.fadeout);    
            }
    };
    ur.postDelayed(myRun, SPLASH_DISPLAY_TIME);
}

protected void onStop() {
    super.onStop();
    ur.removeCallbacks(myRun);
}
即使我在这个SplashScreen中有一个onStop(),下一个活动仍将在SPLASH\u DISPLAY\u时间之后运行

由于我更改了代码,在按下Home(主页)按钮和SplashScreen(飞溅屏幕)消失后,我强制关闭了代码,因此我无法启动第二个活动。请尝试以下方法:

private static final int SPLASH_DISPLAY_TIME = 3000;
Handler ur = new Handler();
Runnable yourRunnable = new Runnable() {      
        public void run() {     
                mainIntent = new Intent(SplashScreen.this,MyApp.class);
                SplashScreen.this.startActivity(mainIntent);
                SplashScreen.this.finish(); 
                overridePendingTransition(R.anim.fadein,
                        R.anim.fadeout);    
        }
};
ur.postDelayed(yourRunnable, SPLASH_DISPLAY_TIME);
然后,在onDestroy上的某个地方,或者在splashscreen活动关闭时使用的任何检测方法:

// somewhere
ur.removeCallbacks(yourRunnable);