ARouter框架拦截器未生效问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARouter框架拦截器未生效问题相关的知识,希望对你有一定的参考价值。

参考技术A 最近在学习ARouter路由框架的使用,在书写demo时遇到了一个问题:

拦截器在设置之后没有生效..

设置如下监听方法也不会走到拦截方法,拦截器初始化方法中的log也不会打印:

考虑到拦截器的 init 方法并没有打印log,应该是拦截器初始化失败了,可能是在注册上直接失败造成的。

查看官方文档之后,找到了文档中提到了一个可选的注册插件能够实现路由表的自动加载。

于是直接将注册插件添加到工程中,运行之后问题已解决。

路由框架-ARouter(跳转拦截)

参考技术A 比如支持解析标准URL进行跳转,并自动注入参数到目标页面中;支持添加多个拦截器,自定义拦截顺序.

javaCompileOptions

annotationProcessorOptions

arguments = [moduleName :project.getName() ]



compile'com.alibaba:arouter-api:1.3.1'

annotationProcessor'com.alibaba:arouter-compiler:1.1.4'

官方建议我们在Application里面进行ARouter初始化

1)首先:在Activity/Fragment类上面写上 Route path 注解。

      注意:这里的路径需要注意的是至少需要有两级,/xx/xx

2)然后:在Activity/Fragment类里面进入Arouter 注入,也就是:ARouter.getInstance().inject(this);

3)接着:目标的Activity类上面需要声明Route path 注解,以此对应(跳转如果不对应路径,框架会Toast说路径不匹配)

ARouter.getInstance().build(“目标界面对应的路径”)

.withInt(key,value).(等with......添加参数).navigation(this,requestCode);

以上是关于ARouter框架拦截器未生效问题的主要内容,如果未能解决你的问题,请参考以下文章

Arouter之API原理解析

ARouter框架使用总结及思考

ARouter的原理

ARouter源码分析—— 拦截器源码分析

ARouter 在多 module 项目中实战

ARouter 拦截器之多 module 独立运行