什么是android中的finish()和finishActivity(int requestCode)之间的区别

时间:2011-08-19 06:20:56

标签: android

任何人都可以向我解释finish()finishActivity(int requestCode)之间的区别。以及适当使用它们的情况。

提前致谢。

4 个答案:

答案 0 :(得分:16)

finish()在您的活动完成后调用此选项并应关闭。 ActivityResult会传播回通过onActivityResult()启动你的人。

finishActivity(int requestCode)用于完成您之前使用startActivityForResult(Intent,int)启动的另一项活动

答案 1 :(得分:11)

阅读以下内容:

public void finish()

  

在您的活动完成后调用此选项并应关闭。该   ActivityResult会传播回通过你发送给你的人   onActivityResult()。

public void finishActivity(int requestCode)

  

强制完成您之前开始的另一项活动    startActivityForResult(Intent,int)

如需进一步阅读,请查看documentation

答案 2 :(得分:2)

finish()在您的活动完成后调用此选项并应关闭。 ActivityResult会传播回通过onActivityResult()向您发送的任何人。

finishActivity(int requestCode)强制完成您之前使用startActivityForResult(Intent, int)开始的另一项活动。

requestCode您向startActivityForResult()提供的活动的请求代码。如果此请求代码启动了多个活动,则它们都将完成。

答案 3 :(得分:1)

所以基本上你可以通过Android中的Intent从另一个Activity调用Android中的其他活动。当您致电startActivityForResult时,您正在调用另一个活动,希望您的应用状态中的代码/更改结果会发生。例如,我运行我的主要活动,但是我调用另一个活动,它将应用程序中的各种字段/变量设置为某些值(即用户设置应用程序的设置)。然后,当该Activity完成并且您必须返回调用它的Activity时,您可以调用finishActivity来发送requestCode,该requestCode将标记所调用的Activity是否以您希望的方式执行。