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();
} else if (errCode == 0) {
Toast.makeText(getApplicationContext(), "支付完成", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "支付失败", Toast.LENGTH_SHORT).show();
}
}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();
}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();
}
}
网友评论