Android App跳转微信小程序教程

2022年05月15日 阅读数:3
这篇文章主要向大家介绍Android App跳转微信小程序教程,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

最近,有一个App跳转小程序的需求,参考微信的官方文档,接入仍是比较简单的,不过中途遇到了一个坑,因此记录一下。html

首先,须要登陆微信开放平台 微信开放平台,建立一个移动应用,而后系统会返回一个appid。git

须要说明的是,无论是跳转微信小程序仍是微信登陆、分享,都须要先在微信开放平台注册appId。而后,就能够参考 Android APP拉取小程序的例子,在WebView中调用下面的代码(能够是直接调用,也能够是协议拦截)。github

String appId = "wxd930ea5d5a258f4f"; // 填移动应用(App)的 AppId,非小程序的 AppID
IWXAPI api = WXAPIFactory.createWXAPI(context, appId);
 
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = "gh_d43f693ca31f"; // 填小程序原始id
req.path = path;                  ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,能够只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
api.sendReq(req);
复制代码

须要重点提醒的是,上面appId是前面咱们注册的移动应用的appId,而不是小程序的appId。在刚开始接入的时候,就遇到了一个坑,“bad param”的错误。若是遇到“bad param”的错误,那多半是appId的问题。小程序

userName则是小程序原始id,能够打开小程序,而后查看更多资料进行查看,好比:微信小程序

若是须要回掉结果,还须要在WXEntryActivity中重写onResp方法。api

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 属性
    }
}
复制代码

固然,为了代码逻辑的健壮性,还须要在打开微信小程序以前,判断是否安装了微信客户端。微信

public  static boolean isWxAppInstalled(Context context) {
        IWXAPI wxApi = WXAPIFactory.createWXAPI(context, null);
        wxApi.registerApp(WChatConstants.APP_ID);
        boolean bIsWXAppInstalled = false;
        bIsWXAppInstalled = wxApi.isWXAppInstalled();
        if(!bIsWXAppInstalled){
            Toast.makeText(context,"请先安装微信",Toast.LENGTH_SHORT).show();
        }

        return bIsWXAppInstalled;
    }

最后

若是你以为这篇文章对你有点用的话,麻烦请给咱们的开源项目点点star:http://github.crmeb.net/u/defu不胜感激 !app

免费获取源码地址:http://ym.baisouvip.cn/html/wzym/36.html学习

PHP学习手册:https://doc.crmeb.comurl

技术交流论坛:https://q.crmeb.com