最近所做的项目中有一个需要唤醒外部APP的功能,甲方要求在接入是需要用scheme方式。为此,本人查了一些资料,在研究的基础上进行了开发。现总结如下:
什么是scheme的唤起方式
首先,需要指出的是在客户端开发中,scheme是一种页面内跳转协议,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。它是通过URL的形式进行跳转的,主要可以进行两个层次的跳转:
1)同一应用内,原生页面唤起原生界面 或者 h5页面唤起原生界面;
2)两个独立的APP,一个APP原生或者h5唤起另一个APP的原生界面
下面说一下scheme协议的主要结构(我这边写的是原生app1唤起app2)
$scheme$://$host$#Intent;scheme=$scheme$;package=$appId$;end
scheme: 具体的协议,这里可以自定义,只要双方约定好就行
host:端口号,这里也是要双方约定好即可
appId: 需要被唤起的应用的ID(这里注重说一下,最好不要用包名而是用APPID 否则可能唤起不了)
实际应用
- 第一步:在被唤起的APP中新建一个activity,作为被唤起的对象,专门用来处理唤起后的操作。
publi