背景故事:
4月份从公司回到学校,要开始着手做大四的毕业设计。然而毕设的其中一个功能模块便是——心情分享模块,在记录心情的同时可以把心情分享到朋友圈、空间、微博等。因此,便开始了微信分享的学习之旅。
准备工作:
1.在微信开发平台注册一个开发者账号。
2.在管理中心创建一个移动应用
泪:当时我在填写应用签名时,是直接将签名文件中的内容复制,粘贴到该输入框中,因为这个,我走了一天的弯路啊!在这重点提醒大家,该应用签名,应该是使用MD5签名生成器.apk,输入你的应用包名,然后生成出来的MD5签名,是一个32位的小写字母和数字的组合的字符串!!
3.提交审核(这个审核过程时间多久,微信官方说是一周左右)
4.下载微信终端开发工具包开发工具包
主要包含3部分内容:(其中,只有libammsdk.jar是必须的)
- libammsdk.jar(每个第三方应用必须要导入该sdk库,用于实现与微信的通信)
- API文档(供开发者查阅使用)
- 界面小工具源码(封装了界面表现的工具类,以及一些界面风格)
到此,有关微信开放平台上的准备工作基本已经结束。
开始接入微信分享:
我们做接入第三方sdk,基本上都是从其提供的示例代码中入手。于是乎,我就先从导入示例代码,跑起demo来看看效果。导入项目这个步骤不属于本次文章的范畴,在此就先跳过。。。
泪:然而我运行在手机上时,却遇到发送消息不弹出微信界面的问题。上网查找资料后,原来是因为eclipse默认的打包运行的签名文件是.android/debug.keystore,我们需要修改微信示例代码中提供给我们的签名文件。
1.选择Eclipse顶部菜单Window->Preferences,在弹出的对话框中,选择Android目录下的Build,如下图
2.指定Custom debug keystore选项的路径为sdk demo工程目录中的debug.keystore文件,如下图:
3.运行该demo
可参照官方文档:《如何运行SDK Demo工程》
微信给的示例代码是用eclipse来运行,然而现在谁还在用eclipse啊,都是用Android Studio,于是我便用Android Studio来接入sdk。
1.在主module下建立lib包,将libammsdk.jar粘贴到该包下。在grade配置文件加入下列代码,编译。
2.在项目的Application创建调用微信的Api,并在应用启动的时候将应用注册到微信,如图:
3.在AndroidManifest.xml中声明相应的权限:
4.在需要分享的逻辑中使用api.send(req)方法:
5.项目跑起来!!
泪:然而我点击分享到朋友圈并不能成功打开微信页面。在上面已经说了,打不开微信页面,第一种情况是微信开放平台上输入的签名不对。当修改好开放平台上的签名后,重新运行app,依旧打不开微信的页面。这是由于微信自身有缓存,在前面微信已经记录了之前错误的签名,因此换了正式的keystore来分享显示的还会是被微信拒绝,就算重启微信重启手机也不管用,那你就要清空微信的数据或者重装微信。
当这些都完成之后,我再点击分享试试:
喜:大功告成!!!
过程虽然挺悲剧,但是结局是好的~~~
好了,我继续去做我的毕设了,还有QQ,Qzone,微博等分享呢。。。但是我相信,有了之前的坑,应该可以走不少捷径了吧。