清除登录活动中的所有活动

时间:2017-10-24 11:07:28

标签: android

我的应用程序看起来像这样, 登录 - > screen1 - > screen2 - > screen3 - > screen4。 如果用户在30秒内未处于活动状态,则会显示登录屏幕。如果用户输入正确的密码,则应再次出现最后一个屏幕,如果按下后退按钮,应用程序应该完成。 我还在stackoverflow中查看了一些答案,但我没有解决问题。

3 个答案:

答案 0 :(得分:0)

1)如果用户在30秒内未激活,则会出现登录屏幕

您可以调用startActivity(new Intent(this,Login.class));

2)如果用户输入正确的密码,最后一个屏幕应该再次出现

call finish();

3)如果他按下按钮,应用程序应该完成。

@Override
    public void onBackPressed() {
        exit(0);
    }

我希望这会有所帮助!

答案 1 :(得分:0)

您可以选择 timertask 在后台运行,当30秒完成后,您可以在其后设置退出。

private Timer mTimer1;
private TimerTask mTt1;
private Handler mTimerHandler = new Handler();

private void stopTimer(){
    if(mTimer1 != null){
        mTimer1.cancel();
        mTimer1.purge();
    }
}

private void startTimer(){
    mTimer1 = new Timer();
    mTt1 = new TimerTask() {
        public void run() {
            mTimerHandler.post(new Runnable() {
                public void run(){
                    //TODO
                }
            });
        }
    };

    mTimer1.schedule(mTt1, 1, 5000);//for 5 second
}

您可以在时间结束后将其注销。

如果用户单击您需要启用/重新启动计时器的任何位置并继续跟踪屏幕

当用户登录时,您可以抓住屏幕并在那里导航到它。

答案 2 :(得分:0)

如果我理解正确你需要在Manifest中使用noHistory登录活动,它只会通过意图而不是通过后退按钮出现。

对于屏幕活动使用

@Override
public void onBackPressed() {
    System.exit(0);
}

因此,一旦用户在屏幕上按回按钮,活动应用程序将关闭..或者您在意图的帮助下导航到特定屏幕活动..

@Override
public void onBackPressed() {
    Intent intent = new Intent(CurrentActivity.this,TargetActivity.class);
    startActivity(intent);
}
相关问题