有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)
探讨了在Android开发中使用startActivityForResult时,onActivityResult未被正确调用的问题,深入分析了原因并提供了解决方案。

1万+

被折叠的 条评论
为什么被折叠?



