美文网首页
Android 微信支付,授权,分享回调区分记录

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

作者: hao_developer | 来源:发表于2021-02-02 18:28 被阅读0次
    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();  
            }  
        }  
    

    相关文章

      网友评论

          本文标题:Android 微信支付,授权,分享回调区分记录

          本文链接:https://www.haomeiwen.com/subject/xdoytltx.html