博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接入微信分享过程的喜和泪
阅读量:5788 次
发布时间:2019-06-18

本文共 1440 字,大约阅读时间需要 4 分钟。

背景故事:

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

可參照官方文档:

微信给的演示样例代码是用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,微博等分享呢。。。

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

转载地址:http://mdmyx.baihongyu.com/

你可能感兴趣的文章
JDK在LINUX系统平台下的部署案例与总结
查看>>
跨vlan通信-----单臂路由技术
查看>>
百度编辑器ueditor 光标位置的坐标
查看>>
DEV-C++ 调试方法简明图文教程(转)
查看>>
VS2017+EF+Mysql生成实体数据模型(解决闪退的坑)
查看>>
C++多态、继承的简单分析
查看>>
库克称未来苹果用户可自己决定是否降频 网友:你是在搞笑吗?
查看>>
6倍性能差100TB容量,阿里云POLARDB咋实现?
查看>>
linux 安装 MySQLdb for python
查看>>
Sublime Text 2 技巧
查看>>
使用fscanf()函数从磁盘文件读取格式化数据
查看>>
参加婚礼
查看>>
h5 audio相关手册
查看>>
刚毕业从事java开发需要掌握的技术
查看>>
CSS Custom Properties 自定义属性
查看>>
vim
查看>>
MVVM计算器(下)
查看>>
C++中指针和引用的区别
查看>>
簡單分稀 iptables 記錄 udp 微軟 138 端口
查看>>
Java重写equals方法和hashCode方法
查看>>