目前的方法是在写arouter build目标的时候传入一个回调监听方法,里面可以在路由被拦截的时候做出一些回应,然后拦截器里只是决定是否拦截,想看看有没有可以在拦截器里直接处理一些问题的方法 ,实在没有也可以把一些处理完了再返回一些flag
照理来说是有post.setPath是可以改变目标页面的
改之前的postcard
Postcard
{
uri=/v3/ui/X6ApprovalClientActivity,
tag=null,
mBundle=Bundle[{
NTeRQWvye18AkPd6G=/v3/ui/X6ApprovalClientActivity}],
flags=0,
timeout=300,
provider=null,
greenChannel=false,
optionsCompat=null,
enterAnim=-1,
exitAnim=-1}
RouteMeta
{
type=ACTIVITY,
rawType=null,
destination=class com.edusoho.kuozhi.v3.ui.X6ApprovalClientActivity, path='/v3/ui/X6ApprovalClientActivity',
group='v3',
priority=-1,
extra=-2147483648,
paramsType=null,
name='null'}
实际上已经把path和extra里都改了但是都没有生效跳转,打印了先后的postcard之后改了一下distination才成功
借鉴一下吧
Log.i("qqhh", "拦截器改之前的目标页面:"+postcard.getPath());
Log.i("qqhh", "拦截器改过的目标页面postcard:"+postcard);
Log.i("qqhh", "拦截器改之前的目标页面:"+postcard.getUri()