Android 微信支付,授权,分享回调区分记录
我们做项目中避免不了和微信打交道,其中最常用的也就是授权登录与分享和支付了。
本篇文章记录这三个功能同时使用的时候,回调怎么来区分。因为每个功能都有自己的回调状态。前期集成与发送,资料很多了就不在这里记录了。
接收回调首先要写一个WXEntryActivity,实现IWXAPIEventHandler接口。
activity的oncreate方法中实例化IWAPI对象:
- private IWXAPI api;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- api = WXAPIFactory.createWXAPI(this, AppContant.APP_ID);
- api.handleIntent(getIntent(), this);
- }
- @Override
- protected void onNewIntent(Intent intent) {
- super.onNewIntent(intent);
- setIntent(intent);
- api.handleIntent(intent, this);
- }
然后就是实现接口中的onResp方法中来接收回调的消息。
下面看下代码:
- @Override
- public void onResp(BaseResp resp) {
- if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
- // 支付
- int errCode = resp.errCode;
- if (errCode == -1) {
- Toast.makeText(getApplicationContext(), resp.errStr, Toast.LENGTH_SHORT).show();
- finish();
- // EventBus.getDefault().post("wx1");
- } else if (errCode == 0) {
- // EventBus.getDefault().post("wx0");
- Toast.makeText(getApplicationContext(), "支付完成", Toast.LENGTH_SHORT).show();
- this.finish();
- } else {
- Toast.makeText(getApplicationContext(), "支付失败", Toast.LENGTH_SHORT).show();
- finish();
- }
- }else if (resp.getType()==ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX){
- // 分享
- int result = 0;
- switch (resp.errCode) {
- case BaseResp.ErrCode.ERR_OK:
- result = 分享成功;
- break;
- case BaseResp.ErrCode.ERR_USER_CANCEL:
- result = 取消分享;
- break;
- case BaseResp.ErrCode.ERR_SENT_FAILED:
- result = 分享失败;
- break;
- default:
- result = 未知原因;
- break;
- }
- Toast.makeText(getApplicationContext(), getString(result), Toast.LENGTH_SHORT).show();
- finish();
- }else if(resp.getType()==ConstantsAPI.COMMAND_SENDAUTH){
- // 登录
- int result = 0;
- switch (resp.errCode) {
- case BaseResp.ErrCode.ERR_OK:
- // 授权成功
- result = R.string.wechat_login_success;
- // 发送事件通知登陆界面
- EventBus.getDefault().post(resp);
- break;
- case BaseResp.ErrCode.ERR_USER_CANCEL:
- // 授权取消
- result = 取消授权;
- break;
- case BaseResp.ErrCode.ERR_AUTH_DENIED:
- // 授权被拒绝
- result = 授权被拒绝;
- break;
- default:
- // 未知错误
- result = 未知原因;
- break;
- }
- Toast.makeText(getApplicationContext(), getString(result), Toast.LENGTH_SHORT).show();
- finish();
- }
- }
Android 微信支付,授权,分享回调区分记录的更多相关文章
- Android微信登录、分享、支付
转载需要著名出处: http://blog.csdn.net/lowprofile_coding/article/details/78004224 之前写过微信登录分享支付第一版: http://bl ...
- 转-Android微信支付
http://blog.fangjie.info/android微信支付/ Android微信支付 2014-08-09 一.使用微信官方的提供的demo里的appid等 1.微信接口上手指南:(从“ ...
- 【微信支付】分享一个失败的案例 跨域405(Method Not Allowed)问题 关于IM的一些思考与实践 基于WebSocketSharp 的IM 简单实现 【css3】旋转倒计时 【Html5】-- 塔台管制 H5情景意识 --飞机 谈谈转行
[微信支付]分享一个失败的案例 2018-06-04 08:24 by stoneniqiu, 2744 阅读, 29 评论, 收藏, 编辑 这个项目是去年做的,开始客户还在推广,几个月后发现服务器已 ...
- 解决Android微信支付官方demo运行失败
Android微信支付官方demo运行失败,在此简单记录一下解决步骤 1.httpclient错误 官方给的demo是eclipse的,打开之后提示httpclient的错误,我知道在as下解决htt ...
- 微信h5支付“网站域名ICP备案主体与商户号主体不一致”的解决方法,H5微信支付 授权函下载
如下图所示: 微信h5支付“网站域名ICP备案主体与商户号主体不一致”: 需提交H5微信支付 授权函 下载地址:https://download.csdn.net/download/a72400815 ...
- 详解Android微信登录与分享
Android 使用微信登录.分享功能 具体的文档详情微信官网上介绍(微信官网文档),本人直接按照项目部署步骤进行讲解: 第一步:申请你的AppID: 第二步:依赖 dependencies { co ...
- Android 微信支付&支付宝支付
由于项目需求,加入这2个功能记录一些需要注意的地方 一.微信支付 微信支付在2016年4月份左右稍微调整了一下支付过程,但是文档却没怎么更新,这也是百度上为什么那么多开发者都说微信是个大坑. 身为一个 ...
- Android微信支付V3版
由于公司需求做微信APP支付,在集成过程中也遇到各种问题,比如说签名错误,body编码必须为UTF-8.APP端无法调用支付页面直接到支付结果页面.结果为null,code=-1等等: 1.签名错误问 ...
- 微信支付成功没有回调遇到的坑 onBridgeReady getBrandWCPayRequest wx.chooseWXPay
最近在调微信支付,遇到一个问题,就是支付成功回调不执行的. 遇到的问题就是 苹果手机 支付成功没有进到回调函数里,但是支付的时候,点击取消支付是可以进到回调函数里的. 安卓手机测试一切正常! ...
随机推荐
- [hdu-4946] Area of Mushroom 计算几何 凸包
大致题意: 平面上有n个人,给你每个人的坐标和一个速度v,如果某个人比其他所有人都先到达某点,则该点就被这个人掌控,求谁掌控者无限大的面积. 首先 速度最大的人,抛弃其他人,速度小的人必定无法得到无限 ...
- SVN版本控制软件
一.版本控制软件 1.为什么需要版本控制软件 问题:① 团队开发 ② 异地协作 ③ 版本回退 2.解决之道 SCM(Software Configuration Management):软件配置管理 ...
- Python中sorted函数的用法(转)
[Python] sorted函数 我们需要对List.Dict进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序,在本地进行排序,不返 ...
- [AGC012E]Camel and Oases
题意:有$n$个数轴上的绿洲,给定它们的坐标,有一只骆驼想要访问所有绿洲,当它的驼峰容量为$V$时,它可以走到和当前绿洲距离$\leq V$的绿洲,并可以继续走,它也可以用一次跳跃到达任意一个绿洲,只 ...
- 【推导】【分类讨论】Codeforces Round #431 (Div. 1) B. Rooter's Song
给你一个这样的图,那些点是舞者,他们每个人会在原地待ti时间之后,以每秒1m的速度向前移动,到边界以后停止.只不过有时候会碰撞,碰撞之后的转向是这样哒: 让你输出每个人的停止位置坐标. ①将x轴上初始 ...
- 【tarjan+缩点】BZOJ1051-受欢迎的牛
[题意] 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎. ...
- 邮件发送javamail
写在前面: 最近要将dms系统原始发邮件的功能(调用的webservice)改变成使用smtp服务来发送邮件(使用javamail来发送),这里简单记录下,方便日后有用到,直接拿来用即可. 首先导入需 ...
- 你真的完全了解Java动态代理吗?看这篇就够了
之前讲了<零基础带你看Spring源码--IOC控制反转>,本来打算下一篇讲讲Srping的AOP的,但是其中会涉及到Java的动态代理,所以先单独一篇来了解下Java的动态代理到底是什么 ...
- awk算术运算一例:统计hdfs上某段时间内的文件大小
计算hdfs指定目录中所有文件名中包含2011-04-24的文件大小,并换算成GB: $HADOOP_HOME/bin/hadoop fs -du /user/hdfs/s3/ifocus/*201 ...
- ADO特有的流化和还原
ADO特有的流化和还原 {*******************************************************}{ }{ ADO 数据流化 }{ }{ 版权所有 (C) 20 ...