按BACK键从一个Activity退出来的,一按BACK,android就会自动调用Activity的finish()方法,然后设置resultCode为RESULT_CANCELED,也就不会返回任何数据了 .
解决方法就是在Activity里面捕获按BACK的事件,捕获到之后先setResult,然后自己来调用finish,就搞定了……把BACK事件直接自己给吞了
:如果在startActivityForResult起来的Activity里面设置setResult,结果并不会马上返回给parent的Activity,只有当前Activity被finish,结果才会被发送给parent的onActivityResult去处理!
本文介绍了如何在Android应用中处理按下BACK键导致的Activity退出问题,通过在Activity中捕获BACK事件并自行调用finish()方法及setResult,避免数据丢失。特别强调了在使用startActivityForResult时设置结果的正确时机,以及结果返回流程的说明。
1135





