我在我的活动中使用 moveTaskToBack() 方法。
当我按下后退按钮时,活动仍然可见。后退键不起作用。我在这里做错了什么?我想导航回上一个活动。
public void onBackPressed() {
// TODO Auto-generated method stub
moveTaskToBack(true);
new Finalizer().killApp(false);
super.onBackPressed();
}
我在我的活动中使用 moveTaskToBack() 方法。
当我按下后退按钮时,活动仍然可见。后退键不起作用。我在这里做错了什么?我想导航回上一个活动。
public void onBackPressed() {
// TODO Auto-generated method stub
moveTaskToBack(true);
new Finalizer().killApp(false);
super.onBackPressed();
}
moveTaskToBack 的目的:
http://developer.android.com/reference/android/app/Activity.html
moveTaskToBack(布尔非根)
将包含此活动的任务移到活动堆栈的后面。
你可以做的是:
public void onBackPressed() {
moveTaskToBack(true); // I don't think you're looking for this.
new Finalizer().killApp(false); // Neither this.
super.onBackPressed();
}
也许是这样的:Android:返回上一个活动onBackPressed()
在你的之后
类似的东西super.OnBackPressed();
还要确保当你点击你的后退按钮时,你实际上是在这个方法中。
如果调用super
它会触发返回按钮的默认实现,它只是完成当前活动。尝试删除该行super.onBackPressed();
,然后查看新行为是否符合您的预期。
启动 -> isSignIn(yes) ->
MainActivity
-> 按返回 -> 关闭。
启动 -> isSignIn(no) ->
SignInActivity
-> 按返回 -> 关闭。
启动-> isSignIn(是)->
MainActivity
->按注销->SignInActivity
->按返回->SignInActivity
->按返回->SignInActivity
(依此类推,SignInActivity
直到我按历史记录/最近的应用程序/主页按钮)。
启动 -> isSignIn(no) ->
SignInActivity
-> Press Sign In ->MainActivity
-> Press Sign Out ->SignInActivity
-> Press Sign In ->MainActivity
-> Press Back ->MainActivity
-> Press Back ->MainActivity
(依此类推循环并卡住MainActivity
直到我按下历史/最近的应用程序/主页按钮)。
SignInActivity
现在我在具有登录按钮和MainActivity
退出按钮的情况下提供此代码。@Override
public void onBackPressed() {
super.onBackPressed();
moveTaskToBack(true);
finish();
}
它现在在每种情况下都可以正常工作。当我按返回时,应用程序关闭。