一、需求概述:
一个APP拉起另一个APP的需求,负责接收数据跨登录部分,支持外部调起。
二、需求分析:
1.A点击拉起B;
2.如果B没安装,下载安装;
3.如果B已安转,未在后台运行点击打开B,传值账号密码,做跨登录;
4.如果B已安装,且正在后台运行,A打开B直接显示在后台运行的页面;
三、配置:
1.被调起的B应用需要在manifest文件对应Activity添加。
android:exported="true"
2.在AndroidManifest文件中,注册一个过滤器。
被调起的B应用manifest文件需配置(注意:在原有intent-filter下方另外添加,不是在原先里面,两个同时存在)
优点:不暴露包命 缺点:host path schemeA应用和B应用得规定死

其中scheme、path和host如下:
scheme://host:port/path
例如:nearbar://com.nearbar.android:200/folder/subfolder/etc
\---------/ \---------------------------/ \---/ \--------------------------/
scheme host port path
\--------------------------------/
authority
四、原理与实现:
1.先说A拉起B可实现的几种方法
(1)包名,特定Activity名拉起

(2)包名拉起(这里就是进去启动页)

(3)url拉起

2.判断B应用是否安装

3.判断B应用是否在后台运行并直接打开


4.B应用接受传值跨登录操作
(1)定时直接跳转登录页面

(2)做了用户信息保存,跳过登录的,这个时候就通过handle的消息判断,做出相应操作

网友评论