有Activity A, B, 在A中通过startActivityForResult()调用B,按理在A中的onActivityResult()中应该获取其返回参数等。
我现在发现,返回到A时,onActivityResult()没有被回调,而是onStart()。这和我的常识相悖。真是想不通,为什么系统不会调用onActivityResult()?
在B中必须是setResult()后调用finish(),然后回到A,A才会自动调用onActivityResult()
如果你是直接按Back回去的,肯定不会调.
requestCode在设置startActivityForResult()时必须大于零? 看了源码你会发现startActivity( )里面调用了startActivity ForResult (intent,-1);
Constants of the Activity class
public static final int RESULT_CANCELED
Standard activity result: operation canceled.
Constant Value:
0 (0x00000000)
public static final int RESULT_FIRST_USER
Start of user-defined activity results.
Constant Value:
1 (0x00000001)
n. 自定义
adj. 由使用者定义的
public static final int RESULT_OK
Standard activity result: operation succeeded.
Constant Value:
-1 (0xffffffff)