[英]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.