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

Android 清除登录活动中的所有活动,android,Android,我的申请是这样的, 登录->屏幕1->屏幕2->屏幕3->屏幕4。 如果用户在30秒内未激活,则会出现登录屏幕。如果用户输入正确的密码,最后一个屏幕将再次出现,如果用户按下后退按钮,应用程序将完成。 我还查看了stackoverflow中的一些答案,但我没有解决问题。1)如果用户在30秒内未处于活动状态,则会出现登录屏幕 您可以调用startActivity(newintent(this,Login.class)) 2) 如果用户输入正确的密码,最后一个屏幕应再次出现 调用finish() 3)

我的申请是这样的, 登录->屏幕1->屏幕2->屏幕3->屏幕4。 如果用户在30秒内未激活,则会出现登录屏幕。如果用户输入正确的密码,最后一个屏幕将再次出现,如果用户按下后退按钮,应用程序将完成。 我还查看了stackoverflow中的一些答案,但我没有解决问题。

1)如果用户在30秒内未处于活动状态,则会出现登录屏幕

您可以调用startActivity(newintent(this,Login.class))

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

调用finish()

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

@Override
    public void onBackPressed() {
        exit(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
}
您可以将其设置为在时间结束后注销

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


当用户登录时,您可以在屏幕上导航到它。

如果我理解正确,您需要在清单中使用noHistory进行登录活动,它将仅通过intent而不是back按钮显示

供屏幕活动使用

@Override
public void onBackPressed() {
    System.exit(0);
}
所以一旦用户按下屏幕上的后退按钮,活动应用程序就会关闭。。或者在意图的帮助下导航到特定的屏幕活动

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

使用
finish()如果用户输入了正确的密码,则启动意图打开最后一个屏幕并在最后一个活动内覆盖此方法
onBackPressed()
并调用finish();里面。