Skip to content

添加拦截器

Half Stack edited this page Jun 21, 2018 · 6 revisions

Router支持拦截器功能,即拦截路由。

intercept返回chain.intercept()即表示拦截该次路由,chain.process()表示不拦截。

添加全局拦截器,每次路由都会回调

Router.addGlobalInterceptor(new RouteInterceptor() {
    @Override
    public RouteResponse intercept(Chain chain) {
        // operation.
        return chain.process();
    }
});

定义拦截器

通过注解

@Interceptor("SampleInterceptor")
public class SampleInterceptor implements RouteInterceptor {
    @Override
    public RouteResponse intercept(Chain chain) {
        return chain.process();
    }
}

应用拦截器

通过注解

@Route(value = "test", interceptors = "SampleInterceptor")
public class TestActivity extends AppCompatActivity {
    ...
}