标签:
新浪微博、腾讯微博、豆瓣、人人网、QQ在执行分享前需要先进行授权操作,
其他平台可以直接调用分享API接口。
授权接口
( doOauthVerify )
授权接口以新浪为例,添加下面的代码:
注意在授权前先检查是否已经授权过,重复授权有可能引起错误
OauthHelper.isAuthenticated(mContext,SHARE_MEDIA.SINA)
确保未授权,则先调用下面的代码
mController.doOauthVerify(mContext, SHARE_MEDIA.SINA, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权开始", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权错误", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权完成", Toast.LENGTH_SHORT).show();
//获取相关授权信息或者跳转到自定义的分享编辑页面
String uid = value.getString("uid");
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权取消", Toast.LENGTH_SHORT).show();
}
} );
授权成功后可以直接调用分享API接口
//设置分享内容
mController.setShareContent("友盟社会化组件(SDK)让移动应用快速整合社交分享功能,http://www.umeng.com/social");
//设置分享图片
mController.setShareMedia(new UMImage(mContext, "http://www.umeng.com/images/pic/banner_module_social.png"));
//直接分享
mController.directShare(mContext, SHARE_MEDIA.SINA,
new SnsPostListener() {
@Override
public void onStart() {
Toast.makeText(mContext, "分享开始",Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(SHARE_MEDIA platform,int eCode, SocializeEntity entity) {
if(eCode == StatusCode.ST_CODE_SUCCESSED){
Toast.makeText(mContext, "分享成功",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(mContext, "分享失败",Toast.LENGTH_SHORT).show();
}
}
});
标签:
原文地址:http://blog.csdn.net/lindonglian/article/details/44001051