Android app内调起小程序,并返回app

1.官方文档

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21526646437Y6nEC&token=&lang=zh_CN

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值