package cn.bidaround.ytcore.activity;
import android.content.Intent;
import android.os.Bundle;
import cn.bidaround.ytcore.YtBaseActivity;
import cn.bidaround.ytcore.YtShareListener;
import cn.bidaround.ytcore.data.ShareData;
import cn.bidaround.ytcore.data.YtPlatform;
import cn.bidaround.ytcore.sina.SinaSSOShare;
import com.sina.weibo.sdk.api.share.BaseResponse;
import com.sina.weibo.sdk.api.share.IWeiboHandler;
import com.sina.weibo.sdk.constant.WBConstants;
/**
* 新浪客户端分享时才需要
* @author youtui
* @since 2015/1/23
*
*/
public class SinaShareActivity extends YtBaseActivity implements IWeiboHandler.Response{
/** 分享的平台 */
protected YtPlatform platform;
/** 待分享数据 */
public static ShareData shareData;
/** 分享监听 */
public static YtShareListener listener;
protected SinaSSOShare sinaSSOShare;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
platform = (YtPlatform) getIntent().getExtras().get("platform");
sinaSSOShare = new SinaSSOShare(this, shareData, listener);
sinaSSOShare.shareToSina();
}
/**
* 新浪微博分享完会调用该方法
*/
@Override
protected void onNewIntent(Intent intent) {
setIntent(intent);
if (sinaSSOShare != null)
sinaSSOShare.getIWeiboShareAPI().handleWeiboResponse(intent, this);
super.onNewIntent(intent);
}
@Override
public void onResponse(BaseResponse baseResp) {
switch (baseResp.errCode) {
// 分享成功
case WBConstants.ErrorCode.ERR_OK:
if (shareData != null)
YtShareListener.sharePoint(this, platform.getChannleId(), !shareData.isAppShare());
if (listener != null)
listener.onSuccess(platform, baseResp.errMsg);
break;
// 分享取消
case WBConstants.ErrorCode.ERR_CANCEL:
if (listener != null)
listener.onCancel(platform);
break;
// 分享错误
case WBConstants.ErrorCode.ERR_FAIL:
if ("auth faild!!!!".equals(baseResp.errMsg)) {
sinaSSOShare.getIWeiboShareAPI().registerApp();
} else {
if (listener != null)
listener.onError(platform, baseResp.errMsg);
}
break;
default:
break;
}
finish();
}
}