App打开小程序,小程序打开App

App打开小程序(Android)
需要以下小程序和app的信息:

应用的AppID,小程序的AppID,小程序的原始ID

第一步:App所在开放平台关联要跳转的小程序
管理中心->移动应用->查看->关联小程序信息->查看关联->关联小程序
在搜索框中输入小程序的AppID,点击搜索图标,提交之后,需要再小程序的管理员的微信消息中通过一下即可关联成功!
第二步:集成AppSDK。


在build.gradle文件中,添加如下依赖即可:
dependencies {
    compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
}

第三步:书写代码。

在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity。
<activity
    android:name=".wxapi.WXEntryActivity"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:exported="true"
    android:taskAffinity="应用包名"
    android:launchMode="singleTask">
</activity>

实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法(注意做好版本兼容逻辑,如果WXEntryActivity实现为透明Activity,最好在onReq和onResp处理完成后finish掉当前界面,避免收到不支持的事件的时候,透明Activity无法关闭)

在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下图:
api.handleIntent(getIntent(), this);

当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。
  IWXAPI api = WXAPIFactory.createWXAPI(mContext, PayConstants.APP_ID,false);
                if(!api.isWXAppInstalled()){
                    ToastUtils.show("您没有安装微信客户端!");
                    return;
                }
                WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
                req.userName = PayConstants.ORIGINAL_ID; // 填小程序原始id
                String p = "pages/book/info?appid=wx114738db20bd47dc&bookcode="+params+"&from=android";
                req.path = p;                  //拉起小程序页面的可带参路径,不填默认拉起小程序首页
                req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_TEST;// 可选打开 开发版,体验版和正式版
                api.sendReq(req);

            }

App打开小程序(IOS)
在微信基础配置没有问题的情况下只需要如下代码即可。
微信开放平台文档中心

移动应用跳转到小程序示例:

WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName = userName;  //小程序原始id
NSString *path =  @"pages/book/info?appid=wx114738db20bd47dc&bookcode="+params+"&from=android";
launchMiniProgramReq.path = path;    //拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
launchMiniProgramReq.miniProgramType = miniProgramType; //可选打开 开发版,体验版和正式版
return  [WXApi sendReq:launchMiniProgramReq];


回调说明
-(void)onResp:(BaseResp *)resp 
{
     if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]])
     {
          NSString *string = resp.extMsg;
          // 对应JsApi navigateBackApplication中的extraData字段数据
     }
}

小程序打开App
1.App主动发起小程序卡片分享到微信,微信点击打开小程序,这时的小程序可以打开App.
2.App主动发起打开小程序,这时的小程序可以打开App

<button open-type="launchApp" app-parameter="wechat" binderror="launchApp">打开APP</button>
Page({ 
    launchApp: function(e) { 
        console.log(e.detail.errMsg) 
    } 
}) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值