-
Notifications
You must be signed in to change notification settings - Fork 86
使用不同方式启动路由
Haoge edited this page May 8, 2017
·
3 revisions
自2.x版本开始。路由事件由原有的只支持跳转Activity(页面路由), 添加新功能支持执行路由启动任意操作(动作路由),如更新数据库等,启动后台任务等。
1.最基本用法。查找到对应url所匹配的页面并直接跳转。若url的schema为http/https。且本地页面所设置的路由规则并没有能匹配此url的。则跳转到浏览器。
Router.create(url).open(context);
2.只添加额外数据与拦截器。不管是否是页面路由(跳转Activity)还是动作路由(不跳转Activity,执行特定动作)
Router.create(url)
.setCallback(callback)// 设置单次回调监听器,若不设置。则使用全局的监听器。
.getBaseRoute()
.addInterceptor(interceptor)// 添加拦截器
.addExtras(bundle) // 添加额外bundle数据
.open(context)
- 只触发页面路由事件。且设置额外数据
Router.create(url).getActivityRoute()
.addInterceptor(interceptor)// 添加拦截器
.addExtras(bundle) // 添加额外bundle数据
.requestCode(code) // 设置请求码
.addAnim(inAnim,outAnim) // 设置转场动画
.addFlags(flag) // 设置intent flags
.open(context)
- 只触发动作路由事件。
Router.create(url).getActionRoute()
.addInterceptor(interceptor)// 添加拦截器
.addExtras(bundle) // 添加额外bundle数据
.open(context)