zoukankan      html  css  js  c++  java
  • 接入微信分享过程的喜和泪

    背景故事:

    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,微博等分享呢。。。

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

  • 相关阅读:
    oracle循环语句
    解决使用Properties读取中文乱码问题
    oracle常用& to_date()怎么转换带am pm的时间格式
    distinct 多列详解
    javascript中遍历EL表达式List集合中的值
    最近一段时间代码汇总
    JAVA基础之对象的初始化
    求解圆圈中最后剩下的数字
    删除有序链表中的重复结点
    构造二叉树,并求解树的高度
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7363103.html
Copyright © 2011-2022 走看看