WxManager.java 3.54 KB
package com.lotus.town.wxapi;

import android.content.Context;

import com.lotus.town.utils.UIUtils;
import com.tencent.mm.opensdk.modelmsg.SendAuth;
import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;
import com.tencent.mm.opensdk.modelmsg.WXTextObject;
import com.tencent.mm.opensdk.modelmsg.WXWebpageObject;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;

public class WxManager {

    public static IWXAPI mWxApi;


    public static void register(Context context){
            mWxApi = WXAPIFactory.createWXAPI(context, WxConfig.APP_ID, false);
            mWxApi.registerApp(WxConfig.APP_ID);
    }

    public static void login(){
            // send oauth request
            final SendAuth.Req req = new SendAuth.Req();
            req.scope = "snsapi_userinfo";
            req.state = "lotus_town";
            mWxApi.sendReq(req);
    }

    public static boolean shareFriend(Context context, String title, String subTitle, String webUrl){
        if (!mWxApi.isWXAppInstalled()) {
//            UIUtils.showToast("您还没有安装微信");
            return false;
        }

        // 初始化一个WXWebpageObject对象
        WXWebpageObject webpageObject = new WXWebpageObject();
        // 填写网页的url
        webpageObject.webpageUrl = webUrl;

        // 用WXWebpageObject对象初始化一个WXMediaMessage对象
        WXMediaMessage msg = new WXMediaMessage(webpageObject);
        // 填写网页标题、描述、位图
        msg.title = title;
        msg.description = subTitle;
        // 如果没有位图,可以传null,会显示默认的图片
        msg.setThumbImage(null);

        // 构造一个Req
        SendMessageToWX.Req req = new SendMessageToWX.Req();
        // transaction用于唯一标识一个请求(可自定义)
        req.transaction = "webpage";
        // 上文的WXMediaMessage对象
        req.message = msg;
        // SendMessageToWX.Req.WXSceneSession是分享到好友会话
        // SendMessageToWX.Req.WXSceneTimeline是分享到朋友圈
        req.scene = SendMessageToWX.Req.WXSceneSession;

        // 向微信发送请求
        mWxApi.sendReq(req);
        return true;
    }

    public static boolean shareFriendCircle(Context context,String title,String subTitle,String webUrl){
        if (!mWxApi.isWXAppInstalled()) {
            UIUtils.showToast("您还没有安装微信");
            return false;
        }

        // 初始化一个WXWebpageObject对象
        WXWebpageObject webpageObject = new WXWebpageObject();
        // 填写网页的url
        webpageObject.webpageUrl = webUrl;

        // 用WXWebpageObject对象初始化一个WXMediaMessage对象
        WXMediaMessage msg = new WXMediaMessage(webpageObject);
        // 填写网页标题、描述、位图
        msg.title = title;
        msg.description = subTitle;
        // 如果没有位图,可以传null,会显示默认的图片
        msg.setThumbImage(null);

        // 构造一个Req
        SendMessageToWX.Req req = new SendMessageToWX.Req();
        // transaction用于唯一标识一个请求(可自定义)
        req.transaction = "webpage";
        // 上文的WXMediaMessage对象
        req.message = msg;
        // SendMessageToWX.Req.WXSceneSession是分享到好友会话
        // SendMessageToWX.Req.WXSceneTimeline是分享到朋友圈
        req.scene = SendMessageToWX.Req.WXSceneTimeline;

        // 向微信发送请求
        mWxApi.sendReq(req);
        return true;
    }
}