web端写好wx-open-launch-app开放标签,需要集成Andorid开放文档,地址
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/Android.html点击进入文档集成
正常情况下不需要微信回调信息方法public void onReq(BaseReq baseReq)
,Android 端app在进程中可以唤醒,不在进程中不可唤醒,这是我这边的问题,但是回调都会有的,这种问题解决直接在
WXEntryActivity里面重写微信回调消息方法,

 @Override
    public void onReq(BaseReq baseReq) {


        //获取开放标签传递的extinfo数据逻辑
        if(baseReq.getType() == ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX && baseReq instanceof ShowMessageFromWX.Req) {
            ShowMessageFromWX.Req showReq = (ShowMessageFromWX.Req) baseReq;
            WXMediaMessage mediaMsg = showReq.message;
            String extInfo = mediaMsg.messageExt;
            }

这里边的extinfo是微信H5跳转过来传递的参数,通过代码获取属性即可,如果单纯跳转到首页的话,可以直接

startActivity(new Intent(this, MainActivity.class));

,如果有逻辑跳转的话可以获取extionfo里边参数,进行跳转,跳转过去有一个问题,就是无法对跳转的界面进行操作,因为你的逻辑是在WXEntryActivity里边进行操作,所以进行跳转以后显示的是 WXEntryActivity,可以看出此类也是继承activity,所以他是一个透明铺满的活动窗口,需要最后所有跳转的最后

finish();

,此处还有一个任务栈需要注意一下,不是bug:
如果有逻辑跳转的情况下,你的app在后台运行着,微信H5跳转到另外一个界面,点击退出该界面是正常的,如果app不在后台,微信H5进行app进程调起,跳到详情页面,点击退出详情按钮或者返回键就会回到主界面,因为你直接调起app进程,activity任务栈里边只有一个详情页activity,所以退出来以后就到桌面了
头一次接触这个跳转需求,踩坑比较多,逻辑跳转需要给页面做判空处理,不然会报错

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐