package cn.mutils.app.mm.impl; import com.tencent.mm.sdk.modelmsg.SendMessageToWX; import com.tencent.mm.sdk.modelmsg.WXMediaMessage; import com.tencent.mm.sdk.modelmsg.WXWebpageObject; import com.tencent.mm.sdk.openapi.IWXAPI; import com.tencent.mm.sdk.openapi.WXAPIFactory; import cn.mutils.app.App; import cn.mutils.app.mm.IShareWechat; import cn.mutils.app.share.ShareBase; import cn.mutils.app.util.AppUtil; public class ShareWechatImpl extends ShareBase implements IShareWechat { public static final String TRANSACTION = "webpage"; @Override public void share() { if (App.getWechatAppId() == null) { if (mListener != null) { mListener.onError(this); } } IWXAPI api = WXAPIFactory.createWXAPI(mContext, App.getWechatAppId(), false); if (!api.isWXAppInstalled()) { if (mListener != null) { mListener.onError(this); } return; } WXWebpageObject web = new WXWebpageObject(); web.webpageUrl = mUrl; WXMediaMessage msg = new WXMediaMessage(web); msg.title = mTitle; msg.description = mText; msg.thumbData = AppUtil.toByteArray(AppUtil.getAppIcon(mContext)); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = TRANSACTION + System.currentTimeMillis(); req.message = msg; req.scene = getScene(); api.sendReq(req); } protected int getScene() { return SendMessageToWX.Req.WXSceneSession; } @Override public int getPlatform() { return PLATFORM_WECHAT; } @Override public int getMethod() { return METHOD_API; } }