美文网首页Android开发
使用weex时在Android中的跳转

使用weex时在Android中的跳转

作者: 还是桃子好吃 | 来源:发表于2017-05-26 18:36 被阅读0次

    weex小菜鸟一只,最近在用weex做项目,其中Android端进行界面跳转所采用的方案是,将编写好的weex界面通过webpack打包生成js文件,然后将这些js文件放置在Android项目的assets目录下进行跳转加载。跳转的weex代码为:

    var url = weex.config.bundleUrl url = url.split('/').slice(0, -1).join('/') + '/' + path + '.js' navigator.push({ url: url, animated: 'true' })
    然后就一直跳转不成功,看了下weex navigator.push()的源码发现这个默认是加载网络的url,所以在Android里面正确的跳转方式应该是跳转activity,在跳转的activity里面重新进行跳转目标地址的渲染,上网搜发现需要在AndroidManifest.xml文件的activity定义里如下设置:

            <intent-filter>
    
                <action android:name="android.intent.action.VIEW"/>
                <action android:name="com.alibaba.weex.protocol.openurl"/>
    
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="com.taobao.android.intent.category.WEEX"/>
    
                <data android:scheme="http"/>
                <data android:scheme="https"/>
                <data android:scheme="file"/>
            </intent-filter>
    

    `
    后来发现上面的这些配置如果是通过webpack生成的Android项目会自带这些 = =!

    在activity中可以通过

    Uri uri = getIntent().getData();

    获取到跳转的目标路径,然后再按照这个路径进行渲染就能够实现加载本地assets中的界面了

    相关文章

      网友评论

        本文标题:使用weex时在Android中的跳转

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