在IOS或Android区分微信的onResp(分享或登录)回调的类型,判定当前操作是否成功
来源:互联网 发布:65533端口 编辑:程序博客网 时间:2024/06/06 02:27
大家接过微信开放平台的SDK都应该知道,如果需要向微信发送登录或分享请求时,需要构造一个消息结构体给微信发送过去,登录的结构体类型是SendAuthReq,分享的消息结构体是SendMessageToWXReq。
同样地,在操作完后微信拉起我们自己的应用时也会有一个对应的消息结构体在onResp回调中返回给我们,通过这个resp消息对象可以拿到发这里写代码片起请求的类型以及当前请求的完成状态等。
一、Android
Android中的resp消息对象的errcode属性判断当前操作请求的状态.getType()方法可以区分当前操作请求的类型
@Override public void onResp(BaseResp resp) { String string; Log.d("JavaUnity", "onResp code=" + resp.errCode); switch (resp.errCode) { case BaseResp.ErrCode.ERR_OK: switch (resp.getType()) { case ConstantsAPI.COMMAND_SENDAUTH: //登录成功的回调 String code=((SendAuth.Resp)resp).code; if (((SendAuth.Resp) resp).state != null && ((SendAuth.Resp) resp).state.equals("***")) { MainActivity.CallUnity("SDK", "LoginCallback", code); } break; case ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX: //分享成功的回调 MainActivity.CallUnity("GlobalLogic", "WXShareSucceed", "true"); break; default: break; } break; case BaseResp.ErrCode.ERR_USER_CANCEL: switch (resp.getType()) { case ConstantsAPI.COMMAND_SENDAUTH: //登录取消的回调 Log.i("JavaUnity", "登录取消"); break; case ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX: Log.i("JavaUnity", "分享取消"); //分享取消的回调 MainActivity.CallUnity("GlobalLogic", "WXShareSucceed", "cancle"); break; default: break; } break; default: switch (resp.getType()) { case ConstantsAPI.COMMAND_SENDAUTH: //登录失败的回调 break; case ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX: //分享失败的回调 MainActivity.CallUnity("GlobalLogic", "WXShareSucceed", "false"); break; default: break; } break; } finish(); }
二、IOS中
在IOS中,也是可以通过resp的errCode来判断当前操作请求的状态
//微信登陆授权回调 if([resp isKindOfClass:[SendAuthResp class]]) { SendAuthResp *rresp = (SendAuthResp*)resp; NSLog(@"resp Errcode%d",rresp.errCode); if(rresp.code!=nil) { //成功 // 将code(凭据)传给服务器去申请 access_token 以及 userinfo [U3dSendMessage sendU3dMessageforCode:rresp.code]; } else//失败 { NSLog(@"error %@",rresp.errStr); UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"登录失败" message:[NSString stringWithFormat:@"reason : %@",rresp.errStr] delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; [alert show]; } } //微信分享授权回调 else if([resp isKindOfClass:[SendMessageToWXResp class]]) { SendMessageToWXResp *rresp = (SendMessageToWXResp*)resp; NSLog(@"SendMessageToWXResp resp Errcode%d",rresp.errCode); switch ((WXErrCode)rresp.errCode) { case WXSuccess: UnitySendMessage("GlobalLogic", "WXShareSucceed", "true"); break; case WXErrCodeUserCancel: UnitySendMessage("GlobalLogic", "WXShareSucceed", "cancle"); break; default: UnitySendMessage("GlobalLogic", "WXShareSucceed", "false"); break; } }
阅读全文
0 0
- 在IOS或Android区分微信的onResp(分享或登录)回调的类型,判定当前操作是否成功
- 实现微信分享以及解决分享后的回调监听是否分享成功
- 分享到空间或微信或新浪的代码
- 微信分享sdk 提示: 登录游戏的微信帐号与当前微信帐号不一致,是否继续
- iOS集成微信支付的一些坑(onResp不回调、闪回等)
- iOS微信分享不触发回调函数onResp()解决方法
- 登录成功或失败直接在当前页面给出提示信息,不必进行struts2的路由配置方案
- 微信分享中的回调处理-OnResp
- Android开发之--判断当前手机上是否存在QQ或微信应用
- Android中进行微信第三方登录或分享如何将WXEntryActivity隐藏掉.
- iOS集成微信支付的一些坑:onResp不回调、只显示一个确定按钮、闪回
- iOS微信支持遇到的问题:只显示一个确定按钮、onResp不回调、闪回
- IOS微信第三方支付onResp方法不被回调的解决办法
- IOS微信第三方支付onResp方法不被回调的解决办法
- IOS微信第三方支付onResp方法不被回调的解决办法
- android 微信分享出去的图片不显示或显示成应用图标
- Android 微信支付,授权,分享回调区分记录
- iOS:判断设备上是否安装微信或qq 集成微信SDK的时候判断是否安装微信 基于ShareSDK
- mescroll.js实现下拉刷新,上拉加载!!
- git diff 生成patch, git apply patch 打补丁方法说明,以及分支管理的简单操作。
- Linux介绍
- sqlldr 导入csv
- 引用性声明和定义性声明
- 在IOS或Android区分微信的onResp(分享或登录)回调的类型,判定当前操作是否成功
- [总结]FFMPEG视音频编解码零基础学习方法
- 特征点匹配——SIFT算法详解
- 欢迎使用CSDN-markdown编辑器
- CMake学习笔记(一)——CMake官网教程
- 软件测试
- SystemTimeToVariantTime时间转换不准,有误差
- log4js pm2 cluster配置
- python字典的常用操作