该应用程序不关闭它,仍然在同一屏幕上,而不是去主屏幕?当后退按钮被按下Toast显示,但ondestroy()不工作
public void onBackPressed() {
Toast.makeText(getBaseContext(), "Bye Bye Have a nice day!", Toast.LENGTH_SHORT).show();
onDestroy();
}
该应用程序不关闭它,仍然在同一屏幕上,而不是去主屏幕?当后退按钮被按下Toast显示,但ondestroy()不工作
public void onBackPressed() {
Toast.makeText(getBaseContext(), "Bye Bye Have a nice day!", Toast.LENGTH_SHORT).show();
onDestroy();
}
的OnDestroy()
是活动的回调方法和不应手动调用。 退出您的活动即。要完成活动,您需要致电
finish();
方法。 调用finish()将会依次调用onDestroy()回调方法,如果有的话可以处理任何停止工作。
所以你code.may是这样的:
public void onBackPressed() {
Toast.makeText(getBaseContext(), "Bye Bye Have a nice day!", Toast.LENGTH_SHORT).show();
finish(); }
尝试的
this.finishAffinity();
代替
onDestroy();
这将结束您的应用程序
更换onDestroy();
与super.onBackPressed();
。
onDestroy()
是Activity的lifecycle方法之一,你不应该在你的代码中这样使用它。 Android OS会在需要时调用它,它不打算在您的代码中使用。
当您需要完成活动时,您可以使用其finish()
方法。不过,在你的情况下,你会覆盖默认完成Activity的方法Activity#onBackPressed()
;因此我们可以使用基类的版本来履行其职责。
它应该是完美的 –
请解释超级 –
的作用@KushalMaharana https://docs.oracle.com/javase/tutorial/java/IandI/super.html – aga
什么是你'的onDestroy()'方法的代码? – kabuto178
如果你只是想结束这个应用程序,那么'finish()'方法就是你要找的,或者super.onBackPressed()也是为你做的。 – kabuto178