所谓的Scheme协议具有以下特点:
1.android中的scheme是一种页面内跳转协议。
2.通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;
3.通过scheme协议,服务器可以定制化告诉App跳转到APP内部页面。
之前项目都是我们客户端和服务器端用自定义json串的形式来告诉客户端如何跳转,这种方式要手动解析字段,有点麻烦。然而scheme协议自带字段解析,非常之方便,后面我们就放弃了json解析的方式。
Scheme协议在Android中使用场景
1.H5跳转到native页面
2.客户端获取push消息中后,点击消息跳转到APP内部页面
3.APP根据URL跳转到另外一个APP指定页面
Scheme协议的使用:
一个完整的Scheme协议包含(String url = "scheme://mtime:8080/goodsDetail?goodsId=10011002")
scheme:协议的名称---随便定义
host: 协议的域名---随便定义
port:自定义协议的端口号---随便定义
path:协议要跳转的路劲(指定的页面)----名字随便起
1.在Mainefest配置文件中配置需要用scheme协议跳转的Activity
2.得到Scheme协议URL后,进行跳转
需要携带参数的话,直接再Scheme协议URL后面拼接即可,可以拼接多个参数,参数间用&隔开即可
String schemeUrl = "wangyy://com.wangyy.sample:8888/goodsDetail?goodsId=10011002&userId=123456";
3.如果有携带参数的话,在目标Activity的onCreat()中需要获取传递过来的参数
Uri data = getIntent().getData();
String param = data.getQueryParameter("goodsId");//获取指定key下的参数
String param2 = data.getQueryParameter("userId");//获取指定key下的参数
双方定义好Scheme协议4个参数的取值后,只要能够拿到这个Scheme协议的URL,就能打开该协议中指定的Activity页面
来源:CSDN
作者:huyinda
链接:https://blog.csdn.net/huyinda/article/details/103768915