注意:如果在一个singleTop或者singleInstance的ActivityA中通过startActivityForResult()方法来启动另外一个ActivityB,那么系统将直接返回Activit.RESULT_CANCELED而不会再去等待返回。这是由于系统在Framework层做了对这两种启动模式的限制,英文Android开发者认为,在不同Task之间,默认是不能传递数据的,如果一定要传递,那么久只能通过Intent来绑定数据。