美文网首页
ARouter框架拦截器未生效问题

ARouter框架拦截器未生效问题

作者: 静水红阳 | 来源:发表于2021-09-13 11:48 被阅读0次

问题说明

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

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

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

ARouter.getInstance()
                        .build(PathUtil.TARGET_ACTIVITY_PATH)
                        .withBoolean("isInterceptor",true)
                        .navigation(activity, new NavCallback() {
                            //调到目标页后调用
                            @Override
                            public void onArrival(Postcard postcard) {
                                Log.d(PathUtil.TAG,"onArrival");
                            }

                            //拦截时调用
                            @Override
                            public void onInterrupt(Postcard postcard) {
                                Log.d(PathUtil.TAG,"onInterrupt");
                                ARouter.getInstance().build(PathUtil.INTERCEPTOR_ACTIVITY_PATH).navigation();
                                super.onInterrupt(postcard);
                            }

                            //拦截前调用
                            @Override
                            public void onFound(Postcard postcard) {
                                Log.d(PathUtil.TAG,"onFound");
                                super.onFound(postcard);
                            }

                            //丢失路由
                            @Override
                            public void onLost(Postcard postcard) {
                                Log.d(PathUtil.TAG,"onLost");
                                super.onLost(postcard);
                            }
                        });

原因分析及解决

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

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

apply plugin: 'com.alibaba.arouter'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath "com.alibaba:arouter-register:?"
    }
}

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

相关文章

网友评论

      本文标题:ARouter框架拦截器未生效问题

      本文链接:https://www.haomeiwen.com/subject/gtffgltx.html