我的Android应用程序中有三个活动:login,Main,user。
首先,我的应用程序以登录开始,然后转到Main(我打电话给#34; login.this.finish();") 在主要活动中,我有一个按钮进入用户活动而没有完成主要,在用户活动中我有"注销"按钮。
我想完成主要活动和用户活动,并在用户按下"注销"时进入登录活动。按钮,我该怎么做。
任何人都可以帮助我,谢谢大家。
答案 0 :(得分:0)
更好的解决方案是,您应该使用startActivityForResult()替换startActivity()以进行活动转换。从logout userActivity中你只需设置一个结果,如果你正确处理它,你将在mainActivity中获得onActivityResult。然后你可以简单地完成mainActivity。
参考 https://developer.android.com/training/basics/intents/result.html
另一种方法是从onResume完成MainActivity,如果在从userActivity注销后调用onResume活动。
答案 1 :(得分:0)
再次启动活动并使用System.exit
startActivity(new Intent(this, Login.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
System.exit(0);
答案 2 :(得分:0)
我认为最好的方法是:
public void showLogin(Activity activity) {
Intent intent = new Intent(activity, LoginActivity.class);
ComponentName cn = intent.getComponent();
Intent mainIntent = IntentCompat.makeRestartActivityTask(cn);
activity.startActivity(mainIntent);
}
但是,您需要将android支持库添加到您的项目中。 此外,您可以尝试使用意图标志Intent.FLAG_ACTIVITY_CLEAR_TOP进行注销:
public void showLogin(Activity activity) {
Intent intent = new Intent(activity, LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(intent);
}
它通常有效,但并非总是如此。