(finish())和(onBackPressed())之间的区别是什么?

我想在命令( Intent )之后关闭 Activity ?最好通过命令(完成)或使用命令(onBackPressed)来关闭 Activity

Intent intent = new Intent ();
intent.putString("name", "Your Name");
 setResult(RESULT_OK,intent);
 onBackPressed();

还是更好
Intent intent = new Intent ();
intent.putString("name", "Your Name");
setResult(RESULT_OK,intent);
finish();

最佳答案

差异

根据 Activity 文档:

OnBackPressed



当用户按下后退按钮时,将触发此方法。按下此按钮时,可以重写此方法以执行特殊操作。默认情况下,此方法的实现调用finish方法。

finish



此方法完成 Activity 。没有在用户事件上专门调用它。当您要关闭 Activity 时,请调用此方法。不应重写此方法。

您的情况是

您要使应用程序完成,因此必须使用finish()。如果要模拟用户按下后退按钮,请使用onBackPressed()

关于java - finish();之间的区别和onBackPressed();,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50046201/

10-12 00:38