接入微信分享过程的喜和泪

背景故事:

4月份从公司回到学校。要開始着手做大四的毕业设计。然而毕设的当中一个功能模块便是——心情分享模块,在记录心情的同一时候能够把心情分享到朋友圈、空间、微博等。因此,便開始了微信分享的学习之旅。

准备工作:

1.在微信开发平台注冊一个开发人员账号。

2.在管理中心创建一个移动应用

Paste_Image.png

Paste_Image.png

泪:当时我在填写应用签名时,是直接将签名文件里的内容复制,粘贴到该输入框中。由于这个。我走了一天的弯路啊!在这重点提醒大家。该应用签名,应该是使用MD5签名生成器.apk。输入你的应用包名。然后生成出来的MD5签名,是一个32位的小写字母和数字的组合的字符串。。

3.提交审核(这个审核过程时间多久,微信官方说是一周左右)
4.下载微信终端开发工具包开发工具包

主要包括3部分内容:(当中,仅仅有libammsdk.jar是必须的)
- libammsdk.jar(每一个第三方应用必须要导入该sdk库,用于实现与微信的通信)
- API文档(供开发人员查阅使用)
- 界面小工具源代码(封装了界面表现的工具类。以及一些界面风格)

到此,有关微信开放平台上的准备工作基本已经结束。

開始接入微信分享:

我们做接入第三方sdk。基本上都是从其提供的演示样例代码中入手。于是乎,我就先从导入演示样例代码,跑起demo来看看效果。

导入项目这个步骤不属于本次文章的范畴,在此就先跳过。。


Paste_Image.png

泪:然而我执行在手机上时,却遇到发送消息不弹出微信界面的问题。上网查找资料后,原来是由于eclipse默认的打包执行的签名文件是.android/debug.keystore,我们须要改动微信演示样例代码中提供给我们的签名文件。


1.选择Eclipse顶部菜单Window->Preferences,在弹出的对话框中,选择Android文件夹下的Build,例如以下图

Paste_Image.png

2.指定Custom debug keystore选项的路径为sdk demoproject文件夹中的debug.keystore文件,例如以下图:

Paste_Image.png

3.执行该demo

可參照官方文档:《怎样执行SDK Demoproject》

微信给的演示样例代码是用eclipse来执行,然而如今谁还在用eclipse啊,都是用Android Studio。于是我便用Android Studio来接入sdk。

1.在主module下建立lib包,将libammsdk.jar粘贴到该包下。

在grade配置文件增加下列代码,编译。

Paste_Image.png

2.在项目的Application创建调用微信的Api,并在应用启动的时候将应用注冊到微信。如图:

Paste_Image.png

3.在AndroidManifest.xml中声明对应的权限:

Paste_Image.png

4.在须要分享的逻辑中使用api.send(req)方法:

Paste_Image.png

5.项目跑起来。!

screenshot_meitu_2.jpg

泪:然而我点击分享到朋友圈并不能成功打开微信页面。在上面已经说了,打不开微信页面,第一种情况是微信开放平台上输入的签名不正确。当改动好开放平台上的签名后,又一次执行app,依然打不开微信的页面。这是由于微信自身有缓存。在前面微信已经记录了之前错误的签名,因此换了正式的keystore来分享显示的还会是被微信拒绝,就算重新启动微信重新启动手机也无论用。那你就要清空微信的数据或者重装微信。

当这些都完毕之后。我再点击分享试试:
screenshot (1)_meitu_3.jpg

喜:大功告成!

过程尽管挺悲剧。可是结局是好的~~~

好了,我继续去做我的毕设了。还有QQ,Qzone,微博等分享呢。。。

可是我相信,有了之前的坑,应该能够走不少捷径了吧。

原文地址:https://www.cnblogs.com/wzzkaifa/p/7363103.html