Android分享微信小程序失败的一些事小结

所属分类: 软件编程 / Android 阅读数: 59
收藏 0 赞 0 分享

前言

小菜这两天接入分享微信小程序的入口,本来很简单的几行代码,可最后搞得我头昏脑胀。微信小程序官网上的接入方式已经说的非常清楚,可在小菜自己实践的过程中,却始终不成功。其实真的很简单,而卡住了还真的是很头疼,因此特意记录一下。

集成方式

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 一定要写对:

1、原始ID 是类似于 gh_... 的15位字符串;

2、AppID 是类似于 wx... 的18位字符串。

问题二:无法分享到微信【未在同一应用下】

出现这种情况时一般是 原始ID 与 AppID 不匹配,小菜在测试的时候刚开始用的微信官方提供的 Demo 测试的,AppID 没有更改,便会出现这个问题。

问题三:分享进入小程序,该页面不存在?

分享小程序正常,但是点进去出现错误,是 miniProgramObj.path = "pages/home/home"; 路径错误,尤其是在路径传参时特别注意。

小提示

  • miniProgramObj.miniprogramType = WXMiniProgramObject.MINIPTOGRAM_TYPE_RELEASE; 建议用正式版进行测试;
  • 目前微信分享小程序只支持 WXSceneSession 聊天页面分享;
  • 分享小程序展示的图为 Bitmap 格式,url 图片建议在一个新线程中转为 Bitmap 在进行传参。

整个接入过程真的很简单,最主要就是两个ID正确,而且千万不要自以为是对的!希望各位不会出现小菜遇到的这些坑。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

更多精彩内容其他人还在看

使用ViewPager实现android软件使用向导功能实现步骤

现在的大部分android软件,都是使用说明,就是第一次使用该软件时,会出现向导,可以左右滑动,然后就进入应用的主界面了,下面我们就实现这个功能
收藏 0 赞 0 分享

android在异步任务中关闭Cursor的代码方法

android在异步任务中如何关闭Cursor?在我们开发应用的时候,很多时候会遇到这种问题,下面我们就看看代码如何实现
收藏 0 赞 0 分享

Android自定义桌面功能代码实现

android自定义桌面其实很简单,看一个例子就明白了
收藏 0 赞 0 分享

android将图片转换存到数据库再从数据库读取转换成图片实现代码

有时候我们想把图片存入到数据库中,尽管这不是一种明智的选择,但有时候还是不得以会用到,下面说说将图片转换成byte[]数组存入到数据库中去,并从数据库中取出来转换成图像显示出来
收藏 0 赞 0 分享

TextView显示系统时间(时钟功能带秒针变化

用System.currentTimeMillis()可以获取系统当前的时间,我们可以开启一个线程,然后通过handler发消息,来实时的更新TextView上显示的系统时间,可以做一个时钟的功能
收藏 0 赞 0 分享

Android用ListView显示SDCard文件列表的小例子

本文简单实现了用ListView显示SDCard文件列表,目录的回退等功能暂不讨论,获取文件列表,files即为所选择目录下的所有文件列表
收藏 0 赞 0 分享

Android拦截外拨电话程序示例

这篇文章主要介绍了Android拦截外拨电话的示例,大家参考使用吧
收藏 0 赞 0 分享

通过Html网页调用本地安卓(android)app程序代码

如何使用html网页和本地app进行传递数据呢?经过研究,发现还是有方法的,总结了一下,大致有一下几种方式
收藏 0 赞 0 分享

android Textview文字监控(Textview使用方法)

以手机号充值为例,当用户输入最后一位数时候,进行汇率的变换,本文就实现类似这样的功能
收藏 0 赞 0 分享

Android ListView长按弹出菜单二种实现方式示例

这篇文章主要介绍了Android ListView长按弹出菜单的方法,大家参考实现
收藏 0 赞 0 分享
查看更多