Android 微信分享解疑

from:http://blog.csdn.net/freesonhp/article/details/10756663

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值,将其输入到登记页面的框中

这个md5值是需要正视签名发布后获取的MD5值 

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

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

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

(1)这个Activity的名字一定是WXEntryActivity

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

签名跟打包apk生成的keystore有关,每次修改需要重新审核。
见 https://open.weixin.qq.com/cgi-bin/readtemplate?t=resource/app_faq_android_tmpl&lang=zh_CN

至于为什么第一次能分享,第二次点就没反应,我相信大多数人都是遇到过的 下面看看官方给的解释

Android常见问题
Q:应用没有审核通过能不能进行调试?
A:iOS应用只要申请并获取到AppID就可进行调试。Android应用除了获取AppID外,应用还要通过审核,否则无法调起微信进行分享,并且需要在网站上填写包名和签名两个字段,签名可使用签名生成工具获取。如有特殊需要,请自行参见《Signature的生成方法》生成。
Q:为什么代码混淆之后,会导致无法弹出发送第三方消息的确认框?
A:需要在混淆配置文件proguard.cfg中,增加如下两行代码:
-keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage { *;}
-keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;}
Q:为什么用网上下载的SDK Demo工程直接运行到设备上,一开始可以正常调试,后面就不可以?
A:这里是由于身份校验失败造成的,要运行SDK Demo工程,可以参考文档《如何运行SDK Demo工程》,同时请下载更新最新版的SDK Sample。
Q:为什么日志里面有时候会出现setup profile from amm_manifest.xml failed错误?
A:这是由于SDK加载内部配置文件失败造成的,不影响SDK的正常使用,可以忽略这个错误日志。
更多问题,请邮件联系 weixin[email protected] 或关注官方微博 http://t.qq.com/weixin_app 的最新动态。

在微信分享中主要碰到了如下问题:第一次可以分享,以后就无法调用出分享对话框。这不是程序问题,而是需要提交审核,只有审核通过,才可以调出分享对话框。不相信?那你可以先将微信退出,再试着点击分享,这时就会弹出登录对话款,登完之后也没有分享对话框,完全没你啥事了。

另外android版微信分享开发时,应用签名(推荐使用官网提供的签名生成工具)是由你的打包所使用的数字证书来决定的。不相信?那先卸载此程序,再将你的应用包名重新改下,不要改变数字证书,运行。然后运用此签名生成工具获取应用签名,完全一样。因此,正式的应用发布还是要自己生成一个数字证书比较好。如果签名不是很理解,请看我之前的一篇文章:http://blog.csdn.net/qianfu111/article/details/9113887

第一步:

申请APP_ID,然后还需要填那个“应用类型” ---下载地址地址无关紧要;重点是应用签名,接下来会讲,先空着;包名,顾名思义就算你的Android应用的包名

第二步:

在程序中调用微信api,具体步骤,微信开放平台的android上手指南讲的很清楚。

第三步:

调试api,为了方便我们可以先用微信提供的demo。重点:1、找到demo根目录下的debug.keystore文件  2、选择Eclipse顶部菜单Window->Preferences,选择Android目录下的Build    3、指定Custom debugkeystore选项的路径为sdk demo工程目录中的debug.keystore文件  确定OK  (第一步保证了微信的SDK demo可以正常使用了)

a.很多人不知道那个签名生成工具到底是干嘛的。首先,你打包自己的包,自己的key一定要注意.也就是 export.

     b.在你的手机上安装你刚刚有签名的apk包。然后安装刚刚在微信开放平台上下载的那个apk包,叫gen_signature.apk

        c.打开gen_signature,输入你的包名。确定之后就会生成一串码(这个就是所谓的签名),这个非常重要。

    d.你要在微信开放平台上登记你的应用的时候,之后有一项必须要填写正确----“应用签名 (Android)”---填写刚刚你用gen_signature.apk生成的那串    码.

    e.然后你会发现怎么还是分享不成功?我告诉你,微信相当郁闷,他必须要审核通过了之后才能分享成功

    f.如果现在你还是分享不成功。有可能是因为你是直接run的。必须要打包安装在手机上,还有必须要有微信客户端。

    g.现在你还是分享不成功?看看你的代码里面,是不是注册了...再就是,你必须要审核通过才能分享成功.(快的话第一次三天左右)

     h.最后,还是希望大家在做分享的时候,仔细看看微信的文档.因为微信的sdk并没有把错误打出来,有时候很无奈.所以还是希望能够仔细看看那些类,还有就是

    那些限制,比如标题的限制,图片大小的限制等等,本人在这上面吃了大亏.都是不仔细弄得.希望大家不要犯跟我一样的错误. 
时间: 2024-08-28 00:43:28

Android 微信分享解疑的相关文章

Android微信分享功能实例+demo

Android微信分享功能实例 1 微信开放平台注册 2 获得appId,添加到程序中,并运行程序 3 使用应用签名apk生成签名,添加到微信开放平台应用签名,完成注册 4 测试分享功能. 有问题请留言  o(∩_∩)o 哈哈 代码如下: package com.wx; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import a

android 微信分享

在Android手机app上加入分享到微信的功能步骤: 1.进入友推官网http://youtui.mobi/user/reg注册并申请应用key 2.申请微信平台appkey:https://open.weixin.qq.com/ 3.引入友推项目库(下载友推社交分享组件:http://youtui.mobi/download/index.htm) 将youtui-lib项目库和应用工程放在同一个目录下 在 Package Explorer 中右键点击工程的根目录,选择 Properties(

Android 微信分享,分享到朋友圈与分享到好友,以及微信登陆

extends:http://www.cnblogs.com/android100/p/Android-qq.html 一.申请你的AppID http://open.weixin.qq.com/ 友情提示:推荐使用eclipse打包软件最后一步的MD5值去申请AppID 二.官网下载libammsdk.jar包 http://open.weixin.qq.com/download/?lang=zh_CN 三.将libammsdk.jar复制到工程的libs目录 四.在需要分享的Activity

android微信分享不出去?四步搞定!

现在做的项目中集成了友盟分享,产品要求集成微信.朋友圈.QQ.QQ空间.短信这几个分享平台.按照友盟的文档集成一切都很顺利,集成成功以后测试QQ.QQ空间.短信都没有问题,唯独微信和朋友圈一直分享不出去. 微信分享不出去的特点: 1.未登陆的状态下,可以正常弹出登录框,输入完账号密码点登录,分享页面弹出闪退 2.登录的状态下,点击微信分享,分享页面弹出闪退 在不断的查找资料,查看分享文档的说明,最后问题解决了,总结出来以下几点经验,按照以下四点排查bug,微信分享不出去的问题应该就能解决. 1.

Android 微信分享不出去?四步搞定!

现在做的项目中集成了友盟分享,产品要求集成微信.朋友圈.QQ.QQ空间.短信这几个分享平台.按照友盟的文档集成一切都很顺利,集成成功以后测试QQ.QQ空间.短信都没有问题,唯独微信和朋友圈一直分享不出去. 微信分享不出去的特点: 1.未登陆的状态下,可以正常弹出登录框,输入完账号密码点登录,分享页面弹出闪退 2.登录的状态下,点击微信分享,分享页面弹出闪退 在不断的查找资料,查看分享文档的说明,最后问题解决了,总结出来以下几点经验,按照以下四点排查bug,微信分享不出去的问题应该就能解决. 1.

Android 微信分享后留在微信,没有回调的问题解决方案

网上有很多关于微信分享后没有回调的问题,大多数讲的都是一些配置不对.WXEntryActivity类的包名不对等所引起的错误.但我今天要讲的问题不是因为这些集成不当引起的问题,而是微信分享SDK本身存在的问题(或者这并不是微信SDK的bug,而是微信本身就是这样设计的).这个问题就是,当我们分享成功后,微信会弹出一个弹窗,让用户选择“留在微信”或者“返回app”. 如果用户选择“留在微信”,那么我们的app将不会收到分享成功的回调,只有选择“返回app”时,app的WXEntryActivity

Android微信分享,无响应

研究2天,看了一天好的比较完整的文章,发个链接:http://www.apkbus.com/android-138326-1-1.html 但是按照上面的教程一步一步做,结果点击分享还是没有响应. 出现问题Bug: 结果发现时因为在微信的管理中心: 应用签名不应该有冒号:格式不对!  修改为如下.分享就能成功了 总结: 1.领悟能力有待提高

Android 微信分享图片

private String APP_ID = "00000000000000000"; //微信 APPID private IWXAPI iwxapi; private void regToWx() { iwxapi = WXAPIFactory.createWXAPI(context, APP_ID, true);//这里context记得初始化 iwxapi.registerApp(APP_ID); } IMServer.getDiskBitmap(IMServer.url);

Android应用加入微信分享

一.申请你的AppID http://open.weixin.qq.com/ 友情提示:推荐使用eclipse打包软件最后一步的MD5值去申请AppID 二.官网下载libammsdk.jar包 http://open.weixin.qq.com/download/?lang=zh_CN 三.将libammsdk.jar复制到工程的libs目录 四.在需要分享的Activity编写代码 private IWXAPI wxApi; //实例化 wxApi = WXAPIFactory.create