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