<code>
//微博登录后,创建匿名帐号
AVUser.AVThirdPartyUserAuth userAuth = new AVUser.AVThirdPartyUserAuth(
mWeiBoToken.getToken(),
Long.toString(mWeiBoToken.getExpiresTime()),
"weibo", mWeiBoToken.getUid());
AVUser.loginWithAuthData(AVUser.class, userAuth, new LogInCallback<AVUser>() {
@Override
public void done(AVUser avUser, AVException e) {
if (e != null) {
showLoginExcToastAndCloseProgress();
return;
}
//登录成功....
}
});
//QQ登录后,将此QQ绑定到之前微博注册的匿名帐号
AVUser mAVUser = AVUser.getCurrentUser();
AVUser.AVThirdPartyUserAuth userAuth = new AVUser.AVThirdPartyUserAuth(mQQToken.getAccessToken()
,Long.toString(mQQToken.getExpireTimeInSecond()), "qq",mQQToken.getOpenId());
AVUser.associateWithAuthData(mAVUser, userAuth, new SaveCallback() {
@Override
public void done(AVException e) {
if(e!=null){
e.printStackTrace();
Log.e(TAG, e.getMessage());
mAVUser.put("bindQqId","");
showBindExcToastAndCloseProgress();
return;
}
closeProgressDialog();
Toast.makeText(BindThirdAccountActivity.this, "绑定成功", Toast.LENGTH_SHORT).show();
mUserInfo.setBindQqId(openid);
setCurUserBindStatus();
}
});
//解绑微博
AVUser mCurAVUser = AVUser.getCurrentUser();
AVUser.dissociateAuthData(mCurAVUser, "weibo", new SaveCallback() {
@Override
public void done(AVException e) {
if(e!=null){
showUnBindExcToastAndCloseProgress();
return;
}
closeProgressDialog();
Toast.makeText(BindThirdAccountActivity.this,
"解绑成功", Toast.LENGTH_SHORT).show();
setCurUserBindStatus();
}
});
//提示解绑成功,但是发现数据库中的authData中的微博信息仍然存在
</code>