Weex 05 Native路径跳转JS踩坑

前言

weex页面跳转是很多开发者遇到的问题。navigator是Android和IOS的跳转模块,weex的Web是不支持navigator的,只能使用vue-route。
本篇主要讲Android的Native端的页面跳转问题。

正文

weex是使用模块navigator实现跳转的,该跳转只支持前进或者后退单个页面,这也比较符合Weex目前的市场定位-电商和平台类的应用,这类应用不会有比较复杂的跳转需求。
说到电商和平台,weex在控件方面似乎也偏电商类,什么轮播图,Tab页在Weex上都是很容易实现的~

始实现跳转

  1. 在代码中实现,官方文档是这么写的:


    跳转代码
  2. 如果在生成的Android项目中,你就会碰到一些问题。
    - 如果你没装weex-playground应用,你的项目跳转会报错ActivityNotFoundException;
    - 如果你不小心装了weex-playground应用,你的本地跳转会失败,远程跳转会有一个不可取消的动画,并且跳转之后再也无法使用native端的方法了。

  3. 原因:navigator 的跳转是一个 Android 的 startActivity 的过程,所打开的 Activity 就是写有拦截器的 Activity 。而拦截器是跨应用的,所以我们在使用 navigator 模块跳转的时候会跳转到 Playground 的 Activity 中去。

  4. 解决方案(这里是Activity参考代码,可直接使用):
    1.创建自己的专门用来渲染页面的Activity;
    2.在manifests中给渲染页面的Activity添加拦截器(同时记得删除WXPageActivity的拦截器,切记);
    最后的Manifests如下图:

    添加拦截器的同时记得删除WXPageActivity的拦截器

  5. Enjoy it.

你可能感兴趣的:(Weex 05 Native路径跳转JS踩坑)