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) {
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,所以退出来以后就到桌面了 头一次接触这个跳转需求,踩坑比较多,逻辑跳转需要给页面做判空处理,不然会报错
|