/**
*
*/
package cn.bidaround.ytcore.yxapi;
import im.yixin.sdk.api.BaseReq;
import im.yixin.sdk.api.BaseResp;
import im.yixin.sdk.api.BaseYXEntryActivity;
import im.yixin.sdk.api.IYXAPI;
import im.yixin.sdk.api.SendMessageToYX;
import im.yixin.sdk.api.YXAPIFactory;
import im.yixin.sdk.util.YixinConstants;
import cn.bidaround.ytcore.YtShareListener;
import cn.bidaround.ytcore.data.YtPlatform;
/**
* 易信分享到朋友圈会提示分享成功,但是分享到指定朋友时,却不会提示分享成功
* @author youtui
*/
public class YXBaseActivity extends BaseYXEntryActivity {
/** 分享事件监听 */
public static YtShareListener listener;
public static YtPlatform platform;
public static boolean isShareApp;
/**
* 返回第三方app根据app id创建的IYXAPI,
*
* @return
*/
protected IYXAPI getIYXAPI() {
return YXAPIFactory.createYXAPI(this, platform.getAppId());
}
/**
* 易信响应第三方APP的请求时,易信调用第三方APP的此函数。第三方APP通过sendRequest分享内容到易信,
* 易信处理完毕后调用此函数。该函数由父类的onCreate或者onNewIntent进行调用
*/
@Override
public void onResp(BaseResp resp) {
switch (resp.getType()) {
case YixinConstants.RESP_SEND_MESSAGE_TYPE:
SendMessageToYX.Resp resp1 = (SendMessageToYX.Resp) resp;
switch (resp1.errCode) {
case BaseResp.ErrCode.ERR_OK:
if (listener != null)
listener.onSuccess(platform, resp.errStr);
YtShareListener.sharePoint(this, platform.getChannleId(), isShareApp);
break;
case BaseResp.ErrCode.ERR_COMM:
if (listener != null)
listener.onError(platform, resp.errStr);
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
if (listener != null)
listener.onCancel(platform);
break;
case BaseResp.ErrCode.ERR_SENT_FAILED:
if (listener != null)
listener.onError(platform, resp.errStr);
break;
}
break;
}
finish();
}
/**
* 易信主动发送请求到第三方APP时,易信调用第三方APP的此函数。该函数由父类BaseYXEntryActivity的onCreate或者
*/
@Override
public void onReq(BaseReq req) {
}
@Override
protected void onDestroy() {
listener = null;
platform = null;
super.onDestroy();
}
}