美文网首页
Android关于微信小程序的唤起和分享

Android关于微信小程序的唤起和分享

作者: 静默加载 | 来源:发表于2018-11-30 10:58 被阅读55次

    个人博客地址 http://dandanlove.com/

    最近做了一些有关于微信小程序的项目,涉及了微信小程序的唤起和分享微信小程序。

    所有的内容都来源于 微信开放平台

    public class WXProxy {
        private IWXAPI mShareAPI;
        /**
         * 构造为api
         * @param context  上下文环境
         * @param isPublic 微信公众账号的key,还是微信登录的key
         */
        public WXProxy(Context context, boolean isPublic) {
            mContext = context.getApplicationContext();
            mShareAPI = WXAPIFactory.createWXAPI(mContext, isPublic ? Config.APP_PUBLIC_KEY : Config.APP_KEY);
        }
        /**
         * 唤起微信小程序
         * @param username  填小程序原始id
         * @param path  拉起小程序页面的可带参路径,不填默认拉起小程序首页
         * @param type  miniprogramtype 0是正式 1是开发 2是体验版本
         */
        public void launchMiniProgram(String username, String path, int type) {
            final WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
            req.userName = username;
            req.path = path;
            req.miniprogramType = type;
            mShareAPI.sendReq(req);
        }
        //分享微信小程序
        private void shareMiniProgramObject(WxMiniInfo info, final int platform) {
            WXMiniProgramObject miniProgramObj = new WXMiniProgramObject();
            miniProgramObj.webpageUrl = info.getWebpageUrl(); // 兼容低版本的网页链接
            miniProgramObj.miniprogramType = info.getMiniprogramType();// 正式版:0,测试版:1,体验版:2
            miniProgramObj.userName = info.getUserName();     // 小程序原始id
            miniProgramObj.path = info.getPath();            //小程序页面路径
            final WXMediaMessage msg = new WXMediaMessage(miniProgramObj);
            msg.title = info.getTitle();                    // 小程序消息title
            msg.description = info.getDescription();               // 小程序消息desc
            msg.thumbData = getThumb();                      // 小程序消息封面图片,小于128k(必传)
            SendMessageToWX.Req req = new SendMessageToWX.Req();
            req.transaction = buildTransaction("webpage"); // transaction字段用于唯一标识一个请求
            req.message = msg;
            req.scene = SendMessageToWX.Req.WXSceneSession;
            mShareAPI.sendReq(req);
        }
    }
    

    当然在开发和调试的时候也遇到了一些问题:

    error00

    这个错误可能是由于创建 IWXAPI 实例的 APP_KEY 没有和小程序进行绑定,
    WXAPIFactory.createWXAPI(mContext, isPublic ? Config.APP_PUBLIC_KEY : Config.APP_KEY);
    一般我们申请两个微信的秘钥,一个用来做登录,一个用来做公共账号授权。小程序需要的是微信公众账号的秘钥。

    error01

    这个是传递的参数有问题,小程序的参数都必传的。

    文章到这里就全部讲述完啦,若有其他需要交流的可以留言哦

    想阅读作者的更多文章,可以查看我 个人博客 和公共号:

    振兴书城

    相关文章

      网友评论

          本文标题:Android关于微信小程序的唤起和分享

          本文链接:https://www.haomeiwen.com/subject/griccqtx.html