android微信分享要注意的地方
最近在做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微信分享要注意的地方的更多相关文章
- Android微信分享功能实例+demo
Android微信分享功能实例 1 微信开放平台注册 2 获得appId,添加到程序中,并运行程序 3 使用应用签名apk生成签名,添加到微信开放平台应用签名,完成注册 4 测试分享功能. 有问题请留 ...
- Android 微信分享,分享到朋友圈与分享到好友,以及微信登陆
extends:http://www.cnblogs.com/android100/p/Android-qq.html 一.申请你的AppID http://open.weixin.qq.com/ 友 ...
- Android 微信分享与QQ分享功能
微信分享与QQ分享功能现在都挺常见的,可以根据一些第三方社会化分功能快速实现,不过多多少少都不怎么纯净,最好都是自己看官方文档来实现就最好了~ 一.微信分享 微信分享功能需要先在微信开放平台注册应用并 ...
- android微信分享不出去?四步搞定!
现在做的项目中集成了友盟分享,产品要求集成微信.朋友圈.QQ.QQ空间.短信这几个分享平台.按照友盟的文档集成一切都很顺利,集成成功以后测试QQ.QQ空间.短信都没有问题,唯独微信和朋友圈一直分享不出 ...
- Android微信分享图片大于32k进行压缩
微信分享视频的时候,需要传一个图片数组,大小不能大于32k. 解决方案:使用Bitmap自带的compress方法解决了这个问题. 源码如下: <span style="font-si ...
- Android 微信分享图文资料
上个项目做Android的微信分享,需要分享的内容有图片有文字,看了微信分享的SDK,貌似没有这个API,在网上搜了好久,总算找到解决方法了,直接上代码: public void sendReq(Co ...
- Android 微信分享解疑
from:http://blog.csdn.net/freesonhp/article/details/10756663 1.建立自己的应用 TestShareWX (1)应用包名是com.frees ...
- Android 微信分享不出去?四步搞定!
现在做的项目中集成了友盟分享,产品要求集成微信.朋友圈.QQ.QQ空间.短信这几个分享平台.按照友盟的文档集成一切都很顺利,集成成功以后测试QQ.QQ空间.短信都没有问题,唯独微信和朋友圈一直分享不出 ...
- android 微信分享没反应问题总结
一.废话 我必须说我再这个上面吃了很多的亏,所以希望有人不跟我一样吃亏.因为我本身不够仔细的原因,所以我希望能够做一些总结.---废话讲完. 这个文章已经过时了.是几年前写的.http://www. ...
随机推荐
- first
不知道学啥,怎么办,写博客.找不到工作,怎么办,写博客.好吧,第一天博客完成.-渣渣米
- Digital root(数根)
关于digital root可以参考维基百科,这里给出基本定义和性质. 一.定义 数字根(Digital Root)就是把一个数的各位数字相加,再将所得数的各位数字相加,直到所得数为一位数字为止.而这 ...
- 基于日志数据分析以防御CC攻击的想法
1. What - 什么是CC攻击 CC攻击,即针对应用层HTTP协议的DDos攻击,攻击者在短时间内向目标服务器发送大量的HTTP请求,使得服务器会非常繁忙,资源消耗会增加:同时,如果请求中包含基于 ...
- Enterprise Library 6
Enterprise Library 6 正式版 MSDN:http://msdn.microsoft.com/en-gb/library/dn169621.aspx 源码下载:http://entl ...
- [原创]cocos2d-x研习录-第三阶 特性之粒子系统
我想接触过游戏引擎的同学,对粒子系统应该不会陌生.它用于解决由大量按一定规则运动(变化)的微小物质在计算机上的生成和显示问题.粒子系统在游戏中有着非常广泛的应用,可以模拟很多现象,如火花.爆炸.烟雾. ...
- C# 隐式类型转换
implicit(C# 参考) implicit 关键字用于声明隐式的用户定义类型转换运算符.如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换. clas ...
- HA简介以及HBase简介
HBase基础知识: 一,HMater节点:可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行 1,为Region server 分配r ...
- 【原创】关于不同分支代码的Merge有了透彻的理解
多分支开发,Merge是一个绕不过的话题,不管是Git还是SVN,公司用的是SVN,之前对于SVN的Merge没有很好的研究,出了些状况,这个问题不解决,顺畅地进行多分支开发就是海市蜃楼,下定决心把这 ...
- time 模块
import time导入时间模块print(time.strftime("%Y-%m-%d %X"))其中 time.strftime("Y-%m-%d")输 ...
- PHP PDO的错误处理模式
PDO默认的错误处理方式是返回一个数组格式的错误代码.如果想要判断SQL有没有出错时,就需要写一组代码来检测这个返回的数组.觉得这样有些麻烦.还好PDO还提供了另外两种处理方式,只要根据需要设置一下就 ...