小菜这两天接入分享微信小程序的入口,本来很简单的几行代码,可最后搞得我头昏脑胀。微信小程序官网上的接入方式已经说的非常清楚,可在小菜自己实践的过程中,却始终不成功。其实真的很简单,而卡住了还真的是很头疼,因此特意记录一下。
集成方式
build.gradle 中添加 compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+';
在需要调用分享功能的入口添加如下代码,如果配置参数都正常的话基本就可以正常分享了:
public void shareToMiniWX() { WXMiniProgramObject miniProgramObj = new WXMiniProgramObject(); miniProgramObj.webpageUrl = "http://www.qq.com"; // 兼容低版本的网页链接 miniProgramObj.miniprogramType = WXMiniProgramObject.MINIPTOGRAM_TYPE_RELEASE;// 正式版:0,测试版:1,体验版:2 miniProgramObj.userName = Constants.miniProgramId; // 小程序原始id miniProgramObj.path = "pages/home/home"; //小程序页面路径 WXMediaMessage msg = new WXMediaMessage(miniProgramObj); msg.title = "小程序消息Title"; // 小程序消息title msg.description = "小程序消息Desc"; // 小程序消息desc Bitmap bmp = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.share_friend_circle_icon_new); Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, 90, 90, true); bmp.recycle(); msg.thumbData = BitmapUtil.bmpToByteArray(thumbBmp, true); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = "" + System.currentTimeMillis(); req.message = msg; req.scene = SendMessageToWX.Req.WXSceneSession; // 目前支持会话 WXAPIFactory.createWXAPI(mContext, AppID).sendReq(req); }
问题说明
问题一:无法分享到微信【由于不支持的分享类型,无法分享到微信】
出现这种情况的问题基本上都是分享的ID有问题,一定一定不要认定自己写的绝对正确,多多核对几次,当时小菜就吃了这个亏。原始ID 和 AppID 一定要写对:
原始ID 是类似于 gh_... 的15位字符串;
AppID 是类似于 wx... 的18位字符串。
问题二:无法分享到微信【未在同一应用下】
出现这种情况时一般是 原始ID 与 AppID 不匹配,小菜在测试的时候刚开始用的微信官方提供的 Demo 测试的,AppID 没有更改,便会出现这个问题。
作者:阿策神奇
链接:https://www.jianshu.com/p/2ac866f1ada7