android微信支付回调方法,Android 微信支付,授权,分享回调区分记录

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();

}

}

代码中我使用了EventBus来发送事件,在对应页面去接收消息,大家可以使用自己的方式去实现,广播,otto都行。

主要是记录怎么区分分享,授权与支付的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值