Android编程之微信SDK分享功能过程步骤详细分析

 更新时间:2015年10月27日 12:21:45   作者:freesonhp  
这篇文章主要介绍了Android编程之微信SDK分享功能过程步骤详细分析,较为详细的分析了Android微信SDK分享功能的原理、步骤与相关注意事项,需要的朋友可以参考下

本文实例讲述了Android编程之微信SDK分享功能过程步骤详细分析。分享给大家供大家参考,具体如下:

之前已经分析过怎么用官方的demo分享微信信息了,在这里我就不再多说,其中关于在自己应用分享说得很简单,本文作者也是经过一番折腾才弄成功,为了以后让大家都少走弯路,决定在这里从头到尾介绍怎么在自己的应用中分享功能

注意:顺序不能乱!!

1、建立自己的应用 TestShareWX

(1)应用包名是com.freeson.test,然后建立一个测试Activity,名字为TestActivity,里面有一个Button和EditText
(2)运行程序,请记住此时你编译运行的时候,用的是android默认的debug.keystore签名的。

2、到官网http://open.weixin.qq.com/download/?lang=zh_CN下载开发工具包,解压,将libammsdk.jar复制到libs中,并将其add到build path中。

3、到官网http://open.weixin.qq.com/agreement登记你的应用,

这里省去前面那些基本的操作 ,这里要注意以下的步骤。

其中有一步是要用个签微信那名的apk工具对我们程序进行签名的,因为我们的程序已经安装了,所以直接下载安装,然后在手机里面的那个框框输入包名(我这里是com.freeson.test,包名不能填错哦),点击生成按钮,这时候会生成一个md5值,将其输入到登记页面的框中(此时我们注意,如果我们的应用程序还没有安装到手机中的话,签名工具会提示没有找到相关包说明的,这时候我们有意识到什么了吗?)

再接下来输入包名(我这里是com.freeson.test,包名不能填错哦),然后提交审核。接下来就是等微信的MM进行审核了。

4、在步骤三中我们已经拿到了appid,按照sdk Demo里面的提供方法在我们的TestActivity测试,OK一切成功,是否有感觉成就感呢。

5、码农的日子还真TM难过啊,我加班码啊码啊,日子一天天过去,项目开发到最后了,经过测试,一切正常,用正式签名的文件对来正式打包。然后再测试。OH,my god,What Happened!!!,为什么刚刚还能分享微信的,现在点击居然没有反应了。顿时陷入惶恐中。。。。不要怕,我来告诉你为什么会这样。

6、其实在第一步的时候,就已经说了,我们在官网申请的AppId的时候填写应用程序签名也是就是用debug.keystore生成的。然而我们此时在手机里面运行的apk是用我们自己生成的签名(xxx.keystore)进行签名的,两个签名都不一致,所以很理所当然会导致分享失败。因为微信要对我们应用进行一个验证,就是通过这个签名来认证的。

7、别担心,还有补救的方法,用我们正式那个签名文件xxx.keystore对程序进行正式的打包,然后安装到手机中,然后再次运行微信那个签名apk工具,讲我们的包名输入到里面,重新生成一个MD5的签名,然后到官网http://open.weixin.qq.com/agreement,找到你之前等级那个应用,拉到最后,点击修改,将刚刚生成的那个签名输入到里面,然后保存重新提交审核。

8、做完上面的事情之后,所要做的就是等刚刚重新提交的修改通过审核,要不然你的微信就不能分享成功。

9、某一天,登记的那个应用通过审核了,运行我们打包的程序,点击微信,oh ,yes。发现能分享了,终于可以喘一口气了。

备注:

在弄分享过程中,本文作者也遇到了很多问题,在这里和大家说说,让大家以后稍微注意。

1、还是签名问题,一个项目,几个人完成的话,如果大家都是用各自默认的debug.keystore进行运行的话,在debug版本,微信分享功能肯定只有在申请的微信appid的那台机器生产的apk才能正常。

2、关于微信分享信息结果反馈,这个要注意的是以下两点,要不要肯定是不会收到分享反馈的。

(1)这个Activity的名字一定是WXEntryActivity
(2)WXEntryActivity这个类一定是建立在 应用包名+wxapi包下(比如上述的工程,这时候包名应该是com.freeson.test.wxapi)

写到这里,终于到结束了,本文作者也是折腾了蛮久才明白微信的认证原理的。一句话,理解签名很重要。

希望本文所述对大家Android程序设计有所帮助。

相关文章

  • 基于Flutter实现动态高斯模糊的流程步骤

    基于Flutter实现动态高斯模糊的流程步骤

    一个App加上高斯模糊会形成一种高级的感觉,本文将介绍如何制作一个根据背景内容来动态高斯模糊,文中有详细的代码实现步骤,代码示例讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2023-11-11
  • Android开发之进度条ProgressBar的示例代码

    Android开发之进度条ProgressBar的示例代码

    本篇文章主要介绍了Android开发之进度条ProgressBar的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 详解Android Studio 3.0的新特性与适配

    详解Android Studio 3.0的新特性与适配

    这篇文章主要介绍了详解Android Studio 3.0的新特性与适配,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 浅谈Android中线程池的管理

    浅谈Android中线程池的管理

    本篇文章主要介绍了浅谈Android中线程池的管理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Android应用中使用SharedPreferences类存储数据的方法

    Android应用中使用SharedPreferences类存储数据的方法

    这篇文章主要介绍了Android应用中使用SharedPreferences类存储数据的方法,SharedPreferences使用键值对应的方式进行存储,使用于少量的数据保存,需要的朋友可以参考下
    2016-04-04
  • Android Studio 实现文档注释的快捷键

    Android Studio 实现文档注释的快捷键

    这篇文章主要介绍了Android Studio 实现文档注释的快捷键,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • android实现简单计算器功能

    android实现简单计算器功能

    这篇文章主要为大家详细介绍了android实现简单计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • 详解android是如何管理内存的

    详解android是如何管理内存的

    这篇文章主要介绍了详解android是如何管理内存的,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下
    2021-03-03
  • android基于ListView和CheckBox实现多选和全选记录的功能

    android基于ListView和CheckBox实现多选和全选记录的功能

    本篇文章主要介绍了android基于ListView和CheckBox实现多选和全选记录的功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-11-11
  • Android编程使用缓存优化ListView的方法

    Android编程使用缓存优化ListView的方法

    这篇文章主要介绍了Android编程使用缓存优化ListView的方法,涉及ListView针对sd卡缓存及内存缓存的优化技巧,需要的朋友可以参考下
    2015-12-12

最新评论