android友盟微信重新授权问题(包括获取用户信息)

一般在项目中会导入友盟统计,友盟还有其他一些功能,例如第三方授权

这里就说一下微信授权的问题,再此记录一下

  首先授权,

UMShareAPI.get(context).doOauthVerify(   )      
之后在授权成功的回调方法中获取用户的信息
UMShareAPI.get(context).getPlatformInfo();

如果是授权一次的话上面的代码能解决,如果是微信客户端中切换账户呢,那就需要检测是否已经授权,已经授权的话,需要解绑之后才能重新授权

boolean isauth=UMShareAPI. get ( mContext ).isAuthorize( mActivity , weixin );

if ( isauth ) {//删除授权
UMShareAPI. get ( mContext ).deleteOauth( mActivity ,weixin , authListener );
} else {
UMShareAPI. get ( mContext ).doOauthVerify( mActivity ,weixin , authListener );
}
UMAuthListener authListener = new UMAuthListener() {
/**
* @desc 授权开始的回调
* @param platform 平台名称
*/
@Override
public void onStart(SHARE_MEDIA platform) {
SocializeUtils. safeShowDialog ( dialog );
}

/**
* @desc 授权成功的回调
* @param platform 平台名称
* @param action 行为序号,开发者用不上
* @param data 用户资料返回
*/
@Override
public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
SocializeUtils. safeCloseDialog ( dialog );
Toast. makeText ( mContext , " 成功了 " , Toast. LENGTH_LONG ).show();
notifyDataSetChanged();
}

/**
* @desc 授权失败的回调
* @param platform 平台名称
* @param action 行为序号,开发者用不上
* @param t 错误原因
*/
@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
SocializeUtils. safeCloseDialog ( dialog );
Toast. makeText ( mContext , " 失败: " + t.getMessage(), Toast. LENGTH_LONG ).show();
}

/**
* @desc 授权取消的回调
* @param platform 平台名称
* @param action 行为序号,开发者用不上
*/
@Override
public void onCancel(SHARE_MEDIA platform, int action) {
SocializeUtils. safeCloseDialog ( dialog );
Toast. makeText ( mContext , " 取消了 " , Toast. LENGTH_LONG ).show();
}
};

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值