1、组件化开发很重要的一点是Schema 隐式跳转
这里有一个很好的例子
http://blog.csdn.net/ruingman/article/details/70054670
也就是说在manifest的Activity中的data注册信息
xl://goods:8888/goodsDetail?goodsId=10011002
通过上面的路径 Schema、Host、port、path、query全部包含,基本上平时使用路径就是这样子的。
•xl代表该Schema 协议名称
•goods代表Schema作用于哪个地址域
•goodsDetail代表Schema指定的页面
•goodsId代表传递的参数
•8888代表该路径的端口号
xl-》schema
goods-》host
8888-》port
goodsDetail-》path
goodsid=10011002-》querry
隐式跳转之前 最好检查一下 是否存在对应的Activity
(1)、PackageManager提供的resolveActivity 如果返回值为null 表示 不存在
(2)、PackageManager提供的querryIntentActivies 他返回的是一个列表表示 符合的所有的Activity集合
2、一个App启动另外一个App中的Activity 那么activity会出现在哪个任务栈呢(发起启动的为Activity为AA,被启动的页面为BB,被启动的应用的首页为BA)
如果BB的启动模式为standard的话 那么BB会出现在AA的任务栈中 如果此时启动BA 那么不受影响 还是从BA开始进入
如果BB的启动模式为singleTask的话,那么BB还是在自己的栈里面 这时候即使点击应用图标 但是显示的还是Bb页面 而不是BA,因为任务栈中已经有Activity