Android App跳转微信小程序踩坑实战

 更新时间:2022年05月07日 16:15:07   作者:xiangzhihong  
现在市面上很多的应用都可以实现相互跳转,下面这篇文章主要给大家介绍了关于Android App跳转微信小程序踩坑的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

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

首先,需要登录微信开放平台 微信开放平台,创建一个移动应用,然后系统会返回一个appid。

需要说明的是,不管是跳转微信小程序还是微信登录、分享,都需要先在微信开放平台注册appId。然后,就可以参考 Android APP拉取小程序的例子,在WebView中调用下面的代码(可以是直接调用,也可以是协议拦截)。

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方法。

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;
    }

总结

到此这篇关于Android App跳转微信小程序踩坑的文章就介绍到这了,更多相关Android App跳转小程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android程序美化之自定义ListView背景的方法

    Android程序美化之自定义ListView背景的方法

    这篇文章主要介绍了Android自定义ListView背景的方法,结合实例形式分析了ListView控件背景操作方法及常见问题处理技巧,需要的朋友可以参考下
    2016-06-06
  • 安卓(Android)动态创建多个按钮并添加监听事件

    安卓(Android)动态创建多个按钮并添加监听事件

    本文主要介绍Android动态创建多个按钮并给每个按键添加监听事件,在做Android项目会经常遇到的,希望对需要用到的同学有所帮助
    2016-07-07
  • Android获取经纬度计算距离介绍

    Android获取经纬度计算距离介绍

    Android提供LocationManager和Location,可以方便的获得经纬度、海拔等位置。使用LocationManager来获得位置管理类,从而可以获得历史GPS信息以及位置变化的监听注册;使用Location来获得具体的位置信息
    2014-01-01
  • 深入理解Android之接口回调机制

    深入理解Android之接口回调机制

    本篇文章主要介绍了Android之接口回调机制,在开发中经常会用到,具有一定的学习价值,有需要的可以来了解一下。
    2016-10-10
  • Android编程之下拉菜单Spinner控件用法示例

    Android编程之下拉菜单Spinner控件用法示例

    这篇文章主要介绍了Android编程之下拉菜单Spinner控件用法,结合简单实例形式分析了Android下拉菜单Spinner的布局与功能相关实现技巧,需要的朋友可以参考下
    2017-07-07
  • Android LocationManager获取经度与纬度等地理信息

    Android LocationManager获取经度与纬度等地理信息

    这篇文章主要介绍了Android LocationManager获取经度与纬度等地理信息的相关资料,希望通过本站大家能掌握这样的知识,需要的朋友可以参考下
    2017-09-09
  • Android 如何使用短信链接打开APP

    Android 如何使用短信链接打开APP

    这篇文章主要介绍了Android 如何使用短信链接打开APP,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Android实现游戏中的渐隐和渐现动画效果

    Android实现游戏中的渐隐和渐现动画效果

    本文给大家分享android中实现游戏中的渐隐渐现的动画效果,在游戏开发中经常会遇到,对android渐隐渐现效果感兴趣的朋友可以参考下本教程
    2016-09-09
  • Android中监听软键盘输入的使用方式

    Android中监听软键盘输入的使用方式

    今天我们来讨论一下Android中监听软键盘输入的使用方式,它允许用户输入文本和执行其他操作,但是,有时候我们需要在用户输入文本时进行一些特殊的处理,比如实时验证输入内容、限制输入字符的类型等,因此,了解如何监听软键盘输入是非常重要的
    2023-10-10
  • 详解Android使GridView横向水平滚动的实现方式

    详解Android使GridView横向水平滚动的实现方式

    Android为我们提供了竖直方向的滚动控件GridView,这篇文章主要介绍了Android使GridView横向水平滚动的实现方式,有兴趣的可以了解一下
    2017-05-05

最新评论