Android集成微信分享的要点及源码示例

如今,社会化分享成了App必不可少的一个功能,而其中最重要的莫过于微信分享,由于微信庞大的用户群及活跃度,因此我们的App往往都需要集成微信分享,微信开放平台也提供了相应的分享SDK。鉴于看到很多人说调不起微信分享,下面就来分享下自己的经验以及在集成微信分享过程中需要注意的地方,最终会提供自己封装好的微信分享源码示例。

其实集成的步骤在微信开放平台的文档指南中已经写的很清楚了:

1.申请AppID。这一步需要在微信开放平台注册你的App就可以了,注意的是需要使用正式的keystore签名你的App,如果最终发布的App的签名keystore跟你此时注册使用的keystore不同,那么最终你将调不起微信分享。

2.下载SDK。主要是下载libmmsdk.jar。

3.将libmmsdk.jar导入到你的工程里,具体步骤大家应该都很熟悉了,然在AndroidManifest.xml里添加相关权限,如网络权限等。

4.在你的界面中调用分享函数,启用微信分享。这里我写了一个WXShare单例类,将所有的微信分享种类都封装到该类里面,你只需要在合适的位置调用合适的方法并传入合适的参数即可,不需要在每一处分享时写重复的代码。

以上详细步骤可以参考官方文档。

还有三点需要注意,否则也可能分享失败:

其一是图片分享时,要求图片的大小在32K以下(经测试,等于32K也是不可以的),因此在分享图片时,需要注意图片的大小,当然我在封装时已经在对图片做了压缩,你可以不必关心,但需要知道。

其二是如果你的App需要代码混淆,则需要在proguard.cfg中为分享SDK添加一些配置,否则调用微信分享会无响应,具体如下:

-keep class com.tencent.mm.sdk.openapi.WXMediaMessage {*;}

-keep class com.tencent.mm.sdk.openapi.** implements com.tencent.mm.sdk.openapi.WXMediaMessage$IMediaObject {*;}

其三,在测试微信分享时需要注意,平时我们往往数据线连接手机,将App直接装到手机上,这样是调不起微信分享的,因为此时是默认的keystore,需要使用当初申请AppID时的keystore对App签名,之后才可以成功调用微信分享。每次测试微信分享时需要正式签名确实麻烦,为此使用自己电脑上默认的keystore另外申请了一个测试AppID,就可以直接将App装到手机上测试了,而不必再正式签名(当然别人也用不了你的测试AppID,除非你把自己电脑上默认的keystore给他们),这种方法大家可以参考。

把握住以上几点,应该不会有什么问题了,你就可以在自己的App上成功调用微信分享了,包括分享文本、图片、网页等基本功能,如果涉及到一些高级分享功能,如好友点击自己分享的内容再跳转回你的App,这些在我之前的一篇文章中讨论过,请参考Android平台好友点击微信分享的内容后跳转来源App的实现方案研究

下面就是干货了,源码示例WeChatShare,欢迎Star或Fork。你可以把代码clone下来,甚至可以把其中的包直接拷到自己的工程中,或者修改为你自己的包名(这里有一点注意,如你的包名为com.xxx.yyy,则WXEntryActivity.java所在的包名必须为com.xxx.yyy.wxapi),并在WXShare.java文件里加入你申请的APP_ID,就可以调用微信分享功能了,具体调用详见代码示例,如果仍然有问题的,可以留言讨论。

时间: 2024-12-30 13:23:18

Android集成微信分享的要点及源码示例的相关文章

使用JSSDK集成微信分享遇到的一些坑

h5项目中需要集成微信分享,以实现自定义标题.描述.图片等功能.结果遇到了很多坑. 准备工作 务必详细阅读微信JS-SDK说明文档 需要后端支持 强烈建议下载使用微信web开发者工具 按文档配置好公众号 JSSDK使用步骤 步骤一:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 备注:登录后可在“开发者中心”查看对应的接口权限. 这里注意:JS接口安全域名一定要填写正确,区分子域名,且主域名需要通过备案!没有满足这一步,无法继续测试. 步骤二:引入JS文

Angularjs+ThinkPHP3.2.3集成微信分享JS-SDK实践

先来看看微信分享效果: 在没有集成微信分享js-sdk前是这样的:没有摘要,缩略图任意抓取正文图片 在集成微信分享js-sdk后是这样的:标题,摘要,缩略图自定义 一.下载微信SDK开发包 下载地址:http://demo.open.weixin.qq.com/jssdk/sample.zip 二.设置安全域名 所有的微信JS接口都只能在公众号绑定的域名下调用.登录微信公众平台,点击左边的“公众号设置”,切换到“功能设置”,在“JS接口安全域名”一栏设置安全域名,下载验证文件到网站根目录,再回到

Android之微信分享

Android之微信分享 现在的项目中要用到微信分享,弄了两天才弄好,开始的时候是下载微信的sdk和demo,将demo放到eclipse上跑起来后发现不能分享,都是一闪就结束程序了,后来发现我们要将demo中的APPID和报名替换成我们自己申请应用时的包名和APPID,之后就可以实现分享功能了. 1.注册微信的移动应用 微信注册地址: 点击打开链接 点击图中的创建移动应用,在接下来的第二页中如下: 在应用签名和应用包名这两输入框要根据自己的实际填写,千万别瞎填. 应用签名:我们一般开发程序是用

ThinkPHP3.2.3集成微信分享JS-SDK实践

先来看看微信分享效果: 在没有集成微信分享js-sdk前是这样的:没有摘要,缩略图任意抓取正文图片 在集成微信分享js-sdk后是这样的:标题,摘要,缩略图自定义 一.下载微信SDK开发包 下载地址:http://demo.open.weixin.qq.com/jssdk/sample.zip 二.设置安全域名 所有的微信JS接口都只能在公众号绑定的域名下调用.登录微信公众平台,点击左边的"公众号设置",切换到"功能设置",在"JS接口安全域名"

Android斗地主棋牌游戏牌桌实现源码下载

本次给大家分享下Android斗地主棋牌游戏牌桌实现源码下载如下:为了节约内存资源,每张扑克牌都是剪切形成的,当然这也是当前编程的主流方法. 1.主Activity    package com.bison;            import android.app.Activity;      import android.content.pm.ActivityInfo;      import android.os.Bundle;      import android.view.Wind

分享15个美化源码的代码语法着色器

语法高亮是文本编辑器用来显示文本的,特别是源代码,根据不同的类别来用不同的颜色和字体显示.这个功能有助于编写结构化的语言,比如编程语言,标记语言,这些语言的语法错误显示是有区别的.语法高亮并不会影响文本自身的意义,而且能很好的符合人们的阅读习惯. 语法高亮同时也能帮助开发者很快的找到他们程序中的错误.例如,大部分编辑器会用不同的颜色突出字符串常量.所以,非常容易发现是否遗漏了分隔符,因为相对于其他文本颜色不同. 现在有各种各样的语法高亮工具,可以格式化语言,并且根据不同的编程语言进行高亮显示.无

Android异步消息处理机制详解及源码分析

PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN.因为CSDN也支持MarkDown语法了,牛逼啊! [工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处,尊重分享成果] 最近相对来说比较闲,加上养病,所以没事干就撸些自己之前的知识点为博客,方便自己也方便别人. 1 背景 之所以选择这个知识点来分析有以下几个原因: 逛GitHub时发现关注的isuss中有人不停的在讨论Android中的Looper , Handler , Me

微信商城+电脑商城多用户源码+个人免签支付宝 +24套微信店铺模

微信商城+电脑商城多用户源码+个人免签支付宝 +24套微信店铺模Ecmaill微信商城源码,功能非常不错的.电脑商城多用户,个人支付宝免签,无需在支付宝申请接口,直接填写支付就可以实现在线支付功能,另外再加上24套微信店铺模板一起打包,在这里完全免费分享,无任何限制,免金币,免RMB下载.在这里非常感谢粉丝分享了这么好的源码,请懂得珍惜好源码,也是源码贡献者花人民币购买过来的.    以下内容为转过来的,实际情况请自行下载测试多用户(微信+手机+电脑)多平台商城,微信商城与电脑商城数据同步支持绑

Android精品资源汇总,10个源码(持续更新)

最近一直在学习Android,在各大社区逛,总结下自己看到的一些不错的源码.希望可以给大家带来帮助. 1.Android精品源码:带动态效果的Button(按钮) 最喜欢各种效果的按钮了,没办法就是这么的呆萌是不是?带动态效果的Button(按钮)可要比静态的按钮炫酷的多了,大家看到效果图就知道了,那么Android开发者们快动手做一个自己喜欢的动态按钮吧! 很炫的效果图,源码下载点击:Android精品源码:带动态效果的Button(按钮) 2.一个漂亮的按钮库[Android精品] 一个不要