Android startActivityForResult(intent, requestCode)的用法

2014-11-24 10:24:38 · 作者: · 浏览: 0

做一个app,用到了startActivityForResult(intent, requestCode)这个方法,但是在onActivityResult(requestCode, resultCode, data)方法中,收不到消息,纠结半天 ,最好看资料才晓得了答案。


*startActivityForResult(intent, requestCode)首先文档告诉我们,只有到activity结束的时候,才会返回消息。


*startActivityForResult(intent, requestCode)中的俩个参数 ,第一个不用多说。第二个requestCode,一般情况下,我们只需要保证


requestCode>-1即可,这样它都能收到result。但是如果在A activity中,能够跳转到多个activiity,并且要接受到这多个activity中的信息的时候,我们就要注意了,这时候,requestCode就起大作用了,当你startActiviityForResult()的时候, 给每一个不同的activity一个独立的requestcode,那么在你接受到result的时候就可以通过这个参数来判断,结果是那个acitivity返回来的了。


onActivityResult(requestCode, resultCode, data)中的resultcode,你可以setresult()的时候,根据不通的结果返回不同的resultcode,这样就能区分开来。


至此,发现android的设计不可谓不妙,为google的开发设计人员敬礼。