阻止在Android上访问启动画面

时间:2014-09-20 23:31:50

标签: android android-intent splash-screen

我已经为我的Android应用程序创建了一个启动画面,它计算五秒然后调用我的主要活动,实际问题是如果用户按下导航栏中的后退按钮,应用程序将返回到飞溅,并将卡在那,并将再次工作,如果完全关闭它再次打开。 如何在进入主要活动后销毁启动画面,或者防止用户返回? 另外,在启动画面期间是否忽略了用户点击?

1 个答案:

答案 0 :(得分:1)

无需阻止对您的spash活动的访问。在进入主要活动之前,只需finish

延迟和完成启动活动的完整代码可能是:

@Override
protected void onResume() {
    super.onResume();

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            // finish the splash activity so it can't be returned to
            SplashActivity.this.finish();
            // create an Intent that will start the second activity
            Intent mainIntent = new Intent(SplashActivity.this, MainActivity.class);
            SplashActivity.this.startActivity(mainIntent);
        }
    }, 5000); // 5000 milliseconds
}

完成启动活动的另一种方法是在清单文件中定义您的活动,并将android:noHistory属性设置为true

<activity android:name=".SplashScreen" android:noHistory="true" ... />

至于禁用活动中的触摸事件,this问题可以提供帮助。