1.官方文档
2、
第一种方式:文档中的回调并不能直接返回到app中,只有加入以下代码方可返回
WXEntryActivity的 void onResp(BaseResp resp) 回调中添加以下代码:
if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
String extraData = launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性
Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName());
this.startActivity(intent);
EventBus.getDefault().post(new PayEvent(PayEvent.SUCCESS, PayEvent.WEIXIN_TYPE));
}
关键代码在这里,只有这样android端的微信才可以返回到自己的app中
Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName());
this.startActivity(intent);
缺点:每次都要打开启动页面
第二种方式:在xml文件中添加两个属性 android:taskAffinity="项目包名" android:launchMode="singleTask"
<activity
android:name=".wxapi.WXEntryActivity" android:taskAffinity="项目包名" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:launchMode="singleTask" android:screenOrientation="portrait" />
优点:每次都是只返回并关闭WXEntryActivity