首先,微信分享只能在release包分享成功,debug包是不可以的。其次,微信的初始化和注册步骤也不能忘记。还有创建WXEntryActivity。以上步骤属于基本步骤,这里不做过多解释。这里介绍一个比较奇葩也是比较坑的地方。那就是即使你上面所有的步骤都做对了,但是还是无法分享成功的情况。希望能帮到大家。

当时做项目的时候是从微信官方API文档里面拿的demo,结果发现demo都不能用。被坑了几个晚上以后总结出的经验是:

微信分享是可以设置小icon 的,如下图:

Android 文件分享微信 微信未登录时提示获取资源失败 微信未获得分享权限_ico

别小看了这张图片,就是它导致我们程序无法走下去的。这个在腾讯的官方API demo中

msg.thumbData被设置为thumbBmp.compress(Bitmap.CompressFormat.PNG, 100, out);

  当你点击分享按钮的时候,你会发现,程序没有任何反应,而且没有log,就是简简单单的无法分享。。。这时候也许你会去查demo,看看是不是自己漏掉了哪一步,还是你传的参数有什么问题,没错,确实是传过去的参数有问题,但是你绝对想不到的是,问题出在icon图片上。   很荣幸的说,上面两条属性全不能用!首先,PNG是无法做icon进行分享的,其次,压缩率也不能为100%。   最保守的方法就是,将图片压缩成JPEG,然后压缩率为40%。在我的项目里是没有问题的。毕竟只是一个小icon,jpeg也足够了。

  就这样,成功度过了开发阶段,提交了测试。。。。。。

  又TM不能分享了。我曹你再逗我么!!!

  过程就不说了,很辛苦,最后发现,还是出在这个图片上···由于我们做的是快照图,图片比例很奇葩,比如会出现720*2332这种恐怖的比例。这时候虽然你将它作为图片分享出去是没问题的,但是如果你用它做分享的icon···恭喜你,又踩坑了。还是那个反应,没有log没有反应。无论你把手机戳破,仍然无法分享。原因就是你的图片比例严重超标了。这时候换一张照片就可以了。或者,新创建一个BitmapBitmap thumbBmp = Bitmap.createScaledBitmap(shareBitmap, 150, 150, false);手动将图片比例设置出来,然后设置给微信分享做icon。这样就可以啦~PS:以上仅为本人实际项目中出现的问题以及解决方案,只代表它在本人的测试机环境和公司所有测试机环境下有效,并不一定代表真正的答案。但我确实靠着以上方案解决了问题。如有疑问的童鞋请留言回复~~3Q3Q。希望对大家有所帮助。至于为什么腾讯的demo是错的(至少我跑不起来,而且现在是2016年末,竟然给的还是eclipse版本的代码···),也是很令人费解。

   由于平时工作实在是太忙了,加上个人不是很会写文章,所以只能写成这样了。大家凑合着看吧,至少能解决问题不是么~~