我在我的活动中使用了moveTaskToBack()方法。
当我按下后退按钮时,活动仍然可见。后退键不起作用。我在这做错了什么?我想回到之前的活动。
public void onBackPressed() {
// TODO Auto-generated method stub
moveTaskToBack(true);
new Finalizer().killApp(false);
super.onBackPressed();
}
答案 0 :(得分:14)
moveTaskToBack的目的:
http://developer.android.com/reference/android/app/Activity.html
moveTaskToBack(boolean nonRoot)
将包含此活动的任务移动到活动堆栈的后面。
你能做的是:
public void onBackPressed() {
// TODO Auto-generated method stub
moveTaskToBack(true); // I don't think you're looking for this.
new Finalizer().killApp(false); // Neither this.
super.onBackPressed();
}
也许这样:Android: Go back to previous activity
在onBackPressed()
后super.OnBackPressed();
中有类似内容
还要确保当你按下后退按钮时,你实际上正在使用这种方法。
答案 1 :(得分:2)
如果你致电super
,它会触发后退按钮的默认实现,后者只完成当前活动。尝试删除行super.onBackPressed();
,然后查看新行为是否符合预期。
答案 2 :(得分:0)
启动-> isSignIn(是)->
MainActivity
->按Back->关闭。
启动-> isSignIn(no)->
SignInActivity
->按Back->关闭。
启动-> isSignIn(是)->
MainActivity
->按退出->SignInActivity
->按Back->SignInActivity
->按Back->SignInActivity
(依此类推,并停留在SignInActivity
上,直到我 按历史记录/最近的应用程序/主页按钮。
启动-> isSignIn(no)->
SignInActivity
->按登录->MainActivity
-> 按注销->SignInActivity
->按登录->MainActivity
->按返回->MainActivity
->按Back->MainActivity
(依此类推,并停留在MainActivity
上,直到我 按历史记录/最近的应用程序/主页按钮。
SignInActivity
和具有“退出”按钮的MainActivity
上提供此代码。@Override
public void onBackPressed() {
super.onBackPressed();
moveTaskToBack(true);
finish();
}
现在在每种情况下都可以正常工作。当我按Back时,应用程序关闭。