singleTask不管是在xml文件配置,还是在onCreate代码类用java函数配置,原理是一样的
Android-Activity源代码表明,startActivityForResult,与onActivityResult,本身就没什么悬案的,你用它就有,你不用他就没有。
另外,Activity启动不管是同一个app还是多个不同app之间互相调用,和broadcast一样,都是靠广播呼叫发起的,主要承载数据体就是Intent。
Intent既可以在activity或service自身内内传播,也可以在不同activity或service之间传播,甚至不同app之间传播,android操作系统就是这个东西。
你所知道的onCreate有一个引入参数bundle,这个bundle就是其自身intent数据包内容的一部分。
只是android操作系统本想叫你startActivityForResult与onActivityResult这2想个函数之间只对bundle关注就够了,不想叫你关注源代码是什么写的,因为google-android系统想叫你按照他的周期理念去编代码。比如你在Activity重写startActivityForResult这个函数,在函数里自己调用一遍onActivityResult这个函数,这个也是合法的,只是intent中的bundle不会按照android周期约定加载数据了。
就算按照周期概念理解onActivityResult只是用来在activity启动完毕后发出一个回调通知,愿意用就用,不愿意用,也可以不用。