Android 自有App内部跳转到微信小程序的方法

1.在 build.gradle 文件中,添加如下依赖即可:

dependencies {
    implementation 'com.tencent.mm.opensdk:wechat-sdk-android:+' //当前能下载到的最新版本6.8.18
}

2. AndroidManifest.xml中添加<queries> 标签,android11如果不申明,可能使用时报错
 

  <queries>  <package android:name="com.tencent.mm" /> </queries>

具体位置

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="...">
    <queries>
       <package android:name="com.tencent.mm" />
   </queries>
   .....
</manifest>

由于是新的标签,因此需要升级开发工具,否则会出现编译错误:

1)Android Studio 需要升级至 3.3 及以上,建议升级至 4.0 及以上版本;

2)Android SDK Build-Tools 需要升级至 30 及以上版本;

3)com.android.tools.build:gradle 需要升级至 3.6.0 版本,建议升级至最新的 3.6.4 版本。


3.调用接口:WXLaunchMiniProgram 移动应用跳转到指定小程序:

String appId = "wxd930ea5d5a258f4f"; // 填移动应用(App)的 AppId,非小程序的 AppID
IWXAPI api = WXAPIFactory.createWXAPI(context, appId);

WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = "gh_d43f693ca31f"; // 填小程序原始id,非小程序的 AppID
//req.path = path;                  //拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
api.sendReq(req);

4.回调说明:
WXEntryActivity中

public 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 属性
    }
}

注意点:
1.当前项目的包名需与微信平台注册wxAppid的包名一致;
2.需打包已签名成功的apk验证,否则调用api时会提示校验失败。

以上完成,即可通过App跳转到指定的微信小程序了,如有帮助,记得点赞关注一波~谢谢~

猜你喜欢

转载自blog.csdn.net/qq_33539839/article/details/127249510
今日推荐