在我的应用程序中,当用户点击退出按钮时,应用程序再次将他带到登录屏幕,当他从该登录屏幕预先显示后退按钮时,吐司显示"你必须登录才能继续。
我这样做是为了停止导航,因为如果可以进行后退导航,那么他将使以前的所有活动都活着。 之后,当我按下HOME按钮退出应用程序时,它会最小化应用程序,每当我启动应用程序时,它都会从LogIn屏幕开始。
我需要它从启动画面启动它...我该怎么办? 我在登录界面使用了这个代码,无法进行导航。
@Override
public void onBackPressed() {
Toast.makeText(getApplicationContext(), "You Must login to continue!", Toast.LENGTH_LONG).show();
}
使用" HOME BUTTON"是不是一个坏主意。退出申请?
答案 0 :(得分:1)
这不是你应该如何处理" lougout" - 你有很多选择,但不要改变" BACK"如初。
您可以考虑使用" startActivityForResult"然后有一个LOGOUT的结果代码,在" login"之后在每个活动中检查所以你可以控制注销。
此外,您可以使用注销屏幕启动任务堆栈并直接进入"登录"如果用户没有登录,或者如果用户没有登录。然后,如果"注销"被调用,清除任务堆栈,放入"注销"在顶部它应该完成并转到"登录"仅
这样的事情:
Intent logoutIntent = new Intent(c.get(), Authenticate.class);
logoutIntent.putExtra(AUTH_STATUS, false);
logoutIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(logoutIntent);
检查您的清单是否为singleTask活动:
<activity android:name=".Authenticate"
android:launchMode="singleTask"
android:label="@string/AuthenticateActName">
</activity>
然后在验证中确保您的LOGIN变量重置并转到验证屏幕。
您可能会想出其他方法,但这些方法对我有用。