我在我的活动中使用 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();
}
它现在在每种情况下都可以正常工作。当我按返回时,应用程序关闭。