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. ...
随机推荐
- AndroidStudio Rename Package
AndroidStudio中重命名包名的方法和可能遇到的问题 在开发中,可能会遇到需要重命名和合并某个包的情况.如果进行如下操作可能会导致以下结果: 在一个空包下创建一个包,会出现两个包名合并的情况. ...
- ftplib模块
Python中的ftplib模块 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件 FTP的工作流程及基本操作可参考协议RFC95 ...
- sqlserver和Oracle内部的错误数据修复(DBCC、DBMS_REPAIR)
数据库长时间运行后,因断电.操作系统.物理存储等的原因可能会造成数据库内部的逻辑或物理错误,我们可以使用一般的方式尝试修复. 对于sqlserver 我们可以使用DBCC命令: -- sqlserve ...
- html5 实现网页截屏 页面生成图片(图文)
html2canvas通过获取页面的DOM和元素的样式信息,并将其渲染成canvas图片,从而实现给页面截图的功能. 因为每个浏览器渲染页面的方式都不尽相同,所以生成的图片也不太一样. 环境要求: j ...
- haoop 断电后导致block文件损坏
hbase将dfs作为存储,公司测试环境断电后,hadoop集群会因此而损坏一些block文件,这个时候,客户端在读取文件时会报一些错: DataXceiver error processing RE ...
- BackgroundWorker学习
后台代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data ...
- C#动态webservice调用接口 (JAVA,C#)
C#动态webservice调用接口 using System; using System.Collections; using System.IO; using System.Net; using ...
- 短链(ShortURL)的Java实现
什么叫短链或短址? 就是把长的 URL 转成短的 URL, 现在提供这种服务的有很多公司,我们以google家的 URL shortener 服务: http://goo.gl/ 为例. 任何长网址都 ...
- 【学】React的学习之旅3 - 添加事件(onClick)
button除了用<input type="button">之外,还可以直接用<button></button>来创建,而2个标签的中间的内容就 ...
- [转]Django与遗留系统和数据库集成
From:http://www.czug.org/python/django/17.html 尽管Django最适合从零开始开发项目--所谓的"绿色领域"开发--将框架与遗留系统和 ...