最近在做android端分享的功能,在微信开放平台查看了下官网上的开发文档,一步一步的按文档上的步骤来:

1、申请你的AppID

2、下载开发工具包

3、搭建开发环境,引入libammsdk.jar文件

4、写发送请求代码(注意:在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类)

一切都挺顺利的,调试了也能正常发送分享。但是当发布后再安装到手机上,点击分享的时候就没有任何反应,也没提示。

最后在网上查到说应用包名、签名、APP_ID要对应,想想问题应该出现在签名上,就安装了发布后的apk,再用genSignature.apk获取了一下签名,

发现和原来的不一样。于是用这个签名又去官网登记了一个应用,获取新的appid,appkey。发布的时候使用刚登记的appid,安装后微信分享没问题了,

大功告成。

所以做微信分享的时候要申请两个应用,一个用做开发,一个用在发布正式上。

分享一下代码(替换自己的appid)

public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
private IWXAPI api; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LogUtil.d("微信", "微信响应页面", true);
api = WXAPIFactory.createWXAPI(this, AppID, false);
api.registerApp(AppID);
api.handleIntent(getIntent(), this);
} @Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent); setIntent(intent);
api.handleIntent(intent, this);
} public void onReq(BaseReq arg0) {
LogUtil.d("微信", "BaseReq:" + arg0.getType(), true);
switch (arg0.getType()) {
case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
LogUtil.d("", "ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX", true);
break;
case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
LogUtil.d("", "ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX", true);
break;
default:
break;
}
finish();
} public void onResp(BaseResp arg0) {
LogUtil.d("微信", "BaseResp:" + arg0.errCode, true);
String result = "";
switch (arg0.errCode) {
case BaseResp.ErrCode.ERR_OK:
result = "亲,分享成功了";
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
result = "取消分享";
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
result = "认证失败";
break;
default:
result = "errcode_unknown";
break;
} Toast.makeText(this, result, Toast.LENGTH_LONG).show();
finish();
} }

分享方法

IWXAPI wxApi = WXAPIFactory.createWXAPI(this, AppID);
wxApi.registerApp(AppID);
public void WxSendRequest(int towhere, String sharestr) {
LogUtil.e("", "博饼微信分享", true);
WXTextObject txtObject = new WXTextObject();
txtObject.text = sharestr;
WXMediaMessage msg = new WXMediaMessage(txtObject);
msg.title = mBoCake.getTitle();
msg.description = mBoCake.getTitle(); SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = String.valueOf(System.currentTimeMillis());
req.message = msg; if (towhere == 0) {
req.scene = SendMessageToWX.Req.WXSceneSession;//分享给好友
} else {
req.scene = SendMessageToWX.Req.WXSceneTimeline;//朋友圈
}
wxApi.sendReq(req);
}

android微信分享要注意的地方的更多相关文章

  1. Android微信分享功能实例+demo

    Android微信分享功能实例 1 微信开放平台注册 2 获得appId,添加到程序中,并运行程序 3 使用应用签名apk生成签名,添加到微信开放平台应用签名,完成注册 4 测试分享功能. 有问题请留 ...

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

    extends:http://www.cnblogs.com/android100/p/Android-qq.html 一.申请你的AppID http://open.weixin.qq.com/ 友 ...

  3. Android 微信分享与QQ分享功能

    微信分享与QQ分享功能现在都挺常见的,可以根据一些第三方社会化分功能快速实现,不过多多少少都不怎么纯净,最好都是自己看官方文档来实现就最好了~ 一.微信分享 微信分享功能需要先在微信开放平台注册应用并 ...

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

    现在做的项目中集成了友盟分享,产品要求集成微信.朋友圈.QQ.QQ空间.短信这几个分享平台.按照友盟的文档集成一切都很顺利,集成成功以后测试QQ.QQ空间.短信都没有问题,唯独微信和朋友圈一直分享不出 ...

  5. Android微信分享图片大于32k进行压缩

    微信分享视频的时候,需要传一个图片数组,大小不能大于32k. 解决方案:使用Bitmap自带的compress方法解决了这个问题. 源码如下: <span style="font-si ...

  6. Android 微信分享图文资料

    上个项目做Android的微信分享,需要分享的内容有图片有文字,看了微信分享的SDK,貌似没有这个API,在网上搜了好久,总算找到解决方法了,直接上代码: public void sendReq(Co ...

  7. Android 微信分享解疑

    from:http://blog.csdn.net/freesonhp/article/details/10756663 1.建立自己的应用 TestShareWX (1)应用包名是com.frees ...

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

    现在做的项目中集成了友盟分享,产品要求集成微信.朋友圈.QQ.QQ空间.短信这几个分享平台.按照友盟的文档集成一切都很顺利,集成成功以后测试QQ.QQ空间.短信都没有问题,唯独微信和朋友圈一直分享不出 ...

  9. android 微信分享没反应问题总结

     一.废话 我必须说我再这个上面吃了很多的亏,所以希望有人不跟我一样吃亏.因为我本身不够仔细的原因,所以我希望能够做一些总结.---废话讲完. 这个文章已经过时了.是几年前写的.http://www. ...

随机推荐

  1. python 3 学习笔记(二)

    1.python中的数据类型 python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是在初始化生成一个对象,即所有数据都是对象对象三个特性 身份:内存地址,可以用i ...

  2. 集成Visual Studio/MSBuild的开发/发布流程和 FIS3

    谁不想让自己的网站速度更快?为此需要多方面的优化,但优化又会增加开发工作量.Fis3 是很不错的前端优化工具,能够让前端的优化变得自动方便,解决前述问题.Fis3是百度开发的,开源的,在国内比较六流行 ...

  3. JavaScript 表单验证

    长度限制: <script>function test(){if(document.a.b.value.length>50){alert("不能超过50个字符!" ...

  4. fopen中r+和w+的区别

    r+: Open for reading and writing.  The stream is positioned  at  the beginning of the file. w+:Open ...

  5. 前端JavaScript规范

    前端JavaScript规范 http://www.imooc.com/article/1402 http://greengerong.com/blog/2015/05/09/qian-duan-ja ...

  6. GridView_RowCommand事件中取得GridViewRow

    GridViewRow row = ((Control)e.CommandSource).BindingContainer as GridViewRow;

  7. shell脚本,防止sshd被暴力破解

    1.tail -f /var/log/secure 你会发现有很多的登录 错误.这说明你的机器正在被暴力破解. 2.新建 一个 shell脚 本 保存退出. 3.加入定时crontab -e 我这里每 ...

  8. 入侵本地Mac OS X的详细过程 转自https://yq.aliyun.com/articles/22459?spm=5176.100239.blogcont24250.10.CfBYE9

    摘要: 本文从提升权限漏洞的一系列巧妙的方法来绕过受保护的Mac OS X.有些已经被处于底层控制,但由于它们存在着更多的认证和修补程序,我们不妨让这些提供出来,以便需要的人学习它们.虽然我不只是要利 ...

  9. python3.5学习笔记:linux6.4 安装python3 pip setuptools

    前言: python3应该是python的趋势所在,当然目前争议也比较大,这篇随笔的主要目的是记录在linux6.4下搭建python3环境的过程 以及碰到的问题和解决过程. 另外,如果本机安装了py ...

  10. ThoughtWorks.QRCode源码

    http://files.cnblogs.com/files/xiaoyu369/ThoughtWorks.QRCode.rar