簡體   English   中英

清除登錄活動中的所有活動

[英]clear all activities in Login activity

我的應用程序看起來像這樣,登錄 -> 屏幕 1 -> 屏幕 2 -> 屏幕 3 -> 屏幕 4。 如果用戶在 30 秒內未處於活動狀態,則會出現登錄屏幕。 如果用戶輸入正確的密碼,最后一個屏幕應該再次出現,如果他按下后退按鈕,應用程序應該完成。 我也在stackoverflow中瀏覽了一些答案,但我沒有解決問題。

1) 如果用戶在 30 秒內未激活,將出現登錄屏幕

你可以調用 startActivity(new Intent(this,Login.class));

2)如果用戶輸入正確的密碼,最后一個屏幕應該再次出現

調用完成();

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 登錄活動,它只會通過意圖而不是通過后退按鈕出現。

對於屏幕活動使用

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

所以一旦用戶在屏幕活動應用程序中按下后退按鈕將關閉.. 否則你在意圖的幫助下導航到特定屏幕活動..

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM