ARouter通过路径path反向获取activity

调用标准跳转方法,使得Postcard被实例化并赋值,这样就能拿到相关的数据

private String pathToActivityName(String path) {
        Postcard p = SRouter.getInstance().build(path);
        p.setTag(TestInterceptor.TAG_GET_ACTIVITY);
        p.navigation();
        if (p != null && p.getDestination() != null) {
            LogUtils.showLog("Postcard=" + p.toString());
           //p.getDestination()是一个class,即路径指向的activity
            return p.getDestination().getName();
        }
        return null;
    }

根据tag拦截跳转,为了让Postcard被实例化赋值

@Interceptor(priority = 8)
public class TestInterceptor implements IInterceptor {
    public static final String TAG_GET_ACTIVITY = "tag_get_activity";

    @Override
    public void process(Postcard postcard, InterceptorCallback callback) {
        if (postcard.getTag() != null && TextUtils.equals(String.valueOf(postcard.getTag()), TAG_GET_ACTIVITY)) {
            //不做跳转
            callback.onInterrupt(null);
        } else {
            //正常跳转
            callback.onContinue(postcard);
        }
    }

    @Override
    public void init(Context context) {
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、ARouter 路由框架在大型项目中比较常见,特别是在项目中拥有多个 moudle 的时候。为了实现组件化,多...
    bug音音阅读 509评论 1 1
  • 对于 Android Developer 来说,很多开源库都是属于开发必备的知识点,从使用方式到实现原理再到源码解...
    业志陈阅读 880评论 0 5
  • ARouter 帮助Android App进行组件化改造的框架,支持模块间路由、通信、解耦 支持功能: 支持直接解...
    主音King阅读 874评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,557评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,607评论 0 11