转自:http://blog.sina.com.cn/s/blog_62cd2b5f01011qhd.html
startActivityForResult(Intent intent,int RequestCode)用于启动另一个activity并等待其返回的结果,毋庸置疑,intent用于启动目标activity,而RequestCode的作用是什么呢?
由于每个activity都可以启动任意的子activity并等待结果 ,而结果处理函数只有一个-- onActivityResult(int requestCode, int resultCode, Intent intent), 因此为了区别请求的activity,android将每个请求设定一个大于等于0的int值,这就是requestcode。由此,在 onActivityResult 函数中即可利用requestCode区别开不同的返回结果。而 onActivityResult 中的resultCode参数对应于子模块中 setResut(int resultCode, Intent intent) 函数中的resultCode值,用于区别不同的返回结果(如请求正常、请求异常等)。
对应流程:
母模块startActivityForResult--触发子模块,根据不同执行结果设定resucode值,最后执行 setResut 并返回到木模块--母模块触发 onActivityResult ,根据requestcode参数区分不同子模块