我使用的方法是先用友盟获取qq信息,然后跟AVUser绑定,回调的时候QQ并没有返回详细的信息
具体代码为
SHARE_MEDIA platform = SHARE_MEDIA.QQ;
mShareAPI = UMShareAPI.get(context);
mShareAPI.doOauthVerify(activity, platform, new UMAuthListener() {
@Override
public void onComplete(SHARE_MEDIA share_media, int i, final Map data) {
Log.d("wei","onComplete");
AVUser.AVThirdPartyUserAuth auth =
// new AVUser.AVThirdPartyUserAuth(data.get())
new AVUser.AVThirdPartyUserAuth(data.get("access_token"), data.get("expires_in")
,AVUser.AVThirdPartyUserAuth.SNS_TENCENT_WEIBO ,data.get("openid"));
AVUser.loginWithAuthData(auth, new LogInCallback() {
@Override
public void done(AVUser avUser, AVException e) {
if (e == null) {
FitUser.exUserInfo = avUser;
//FitUser.currentFitUser.setProPerty("userName",avUser.get("nickName").toString());
//FitUser.currentFitUser.setProPerty("headimage",avUser.get("HeadImage").toString());
callback.onLoginResult(avUser,null);
Log.d("wei","恭喜你,已经和我们的 AVUser 绑定成功");
} else {
e.printStackTrace();
callback.onLoginResult(null,e);
}
}
});
}
@Override
public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {
}
@Override
public void onCancel(SHARE_MEDIA share_media, int i) {
}
});