APP调用微信小程序,能拉起小程序,但是onResp回调不会被调用问题
官方给的demo太简陋了,都没有一个正常能唤起小程序的demo(iOS却有...),网址的示例也没说 createWXAPI 时的appKey是自身app的还是小程序的;连回调的demo都写了一堆用不上的东西,都得自己试,看“微信开放社区”好多跟我一样遇到唤起app正常,但小程序回调app方法不走的情况...
微信开放文档:app拉起小程序 https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Launching_a_Mini_Program/Android_Development_example.html
1、app 拉起小程序
启动微信小程序代码片段
//ConstantText.WX_APPKEY app在开发平台申请的appKey
IWXAPI api = WXAPIFactory.createWXAPI(context, ConstantText.WX_APPKEY);
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
// 填小程序原始id
req.userName = ConstantText.WECHAT_CHECKIN;
// 可选打开 开发版,体验版和正式版
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW ;
api.sendReq(req);
2、小程序回调app
App端:
需要创建WXEntryActivty,实现IWXAPIEventHandler接口,重写onResp方法。注意Acitvity需要在Manifest文件中声明 android:exported=“true”,这样才可以被外部唤起
public void onResp(BaseResp resp) {
if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
String extraData =launchMiniProResp.extMsg; // 对应下面小程序中的app-parameter字段的value
}
}
回调过程中遇到的问题:
1)、回调无反应,无法调起app
因为本身项目内有集成sharesdk,已有WXEntryActivty回调类,为了不修改它,就新建了WXEntryNewActivty;
结果回调不起作用,试着在WXEntryActivty实现IWXAPIEventHandler接口,发现就可以调起app了,但回调方法onResp不 走
2)、可以调起app,但回调方法onResp不 走
在网上查资料,遇到很多同样的情况,都没有给出明确的解决方案,其中
这个提问中的回答给了思路
参考其中的思路,我对jar包进行了混淆保护,以及把demo回调类中对handleIntent的处理拷了过来,发现回调方法onResq就可以正常走了!对jar包的混淆保护,不确认是否必须的,没有再做把它去掉的测试!有时间可以试下!
private IWXAPI api;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
api = WXAPIFactory.createWXAPI(this, ConstantText.WX_APPKEY); //自己app的appKey
// api = WXAPIFactory.createWXAPI(this, ConstantText.WX_APPKEY, false);
try {
Intent intent = getIntent();
api.handleIntent(intent, this);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
api.handleIntent(intent, this);
}
3、跳转规则
对于跳转规则的解析:认证账号跳转无限制,非认证账号必须对小程序进行绑定(应该就是其说的同一开放平台账号下)
本文地址:https://blog.csdn.net/u013291442/article/details/107475639