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。
<activityandroid: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; // 填小程序原始idString 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) }
})
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。
<activityandroid: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; // 填小程序原始idString 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) }
})