[英]How destroy activity works?
我是android开发的新手,我不了解生命周期活动,尤其是下面我正在处理的应用程序示例。
在我的应用程序中,我有一个Login活动和一个Main活动。
在我的登录活动中,尝试成功,有一个Intent启动主活动,并完成()登录活动。
==>在那里,我的登录活动已被破坏,因此不应再次显示。
Intent intent = new Intent(this, MainActivity.class); intent.putExtra("authentResult", tokenDto); startActivity(intent); finish(); //destroy activity to not open it with back button`
在我的主要活动中,我有一个断开连接按钮,用于创建启动(新?)登录活动的Intent。
==>到此为止,一切正常,并且将显示登录活动。
Intent loginActivity = new Intent(this, LoginActivity.class);
startActivity(loginActivity);
在登录活动中,使用“后退”按钮应关闭该应用程序。
为此,我向主要活动发送带有特殊标志的意图以完成它(因此后退按钮不会唤醒主要活动),然后完成登录活动。 调用了onDestroy方法,我看到登录窗口关闭了。
==>我希望从这里关闭该应用程序。 但是出现了“新”登录活动,我怀疑这是第一点的活动 ,所以我在这里有点迷路了...
public void onBackPressed() { Log.d(TAG, "BACK PRESSED - loginActivity"); //Finish MainActivity Intent intent = new Intent(getApplicationContext(), MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("EXIT", true); startActivity(intent); finish(); // finish login activity }
在mainActivity的onCreate中,我从以下内容开始:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
有人可以向我解释我所缺少的内容,还是向我展示直接关闭该应用程序的更好方法?
如果有不清楚的地方,不要犹豫告诉我。
如果您在清单中将Login活动声明为主要活动,如果在启动第二个活动时没有销毁它,那么我认为后退按钮将完成您期望的所有操作,而无需任何其他代码,并且如果按登录活动将转到手机主屏幕
在Android应用程序上,是决定何时关闭/杀死应用程序的系统。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.