package com.hmkj.hx_finance_android.util;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;
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 final int WEIXIN_SHARE_TYPE_FRENDS = SendMessageToWX.Req.WXSceneTimeline;
public static final int WEIXIN_SHARE_TYPE_TALK = SendMessageToWX.Req.WXSceneSession;
public final static String APP_ID="wx4ca167f39b254aa1";
public static IWXAPI api;
private Context context;
public WXManager(Context context){
this.context=context;
initWeixin(context);
}
/**
* 向微信注册APPID
* @param context
*/
private void initWeixin(Context context) {
api = WXAPIFactory.createWXAPI(context, APP_ID,false);
api.registerApp(APP_ID);
if(!api.isWXAppInstalled()){
CommonUtil.showToast(context,"你没有安装微信");
}
}
/**
* 微信 分享
* @param shareType 分享类型:1好友 WEIXIN_SHARE_TYPE_TALK 2朋友圈 WEIXIN_SHARE_TYPE_FRENDS
* @param title 标题
* @param detail 描述
* @param drawable 图片
* @param url 分享的网址
*/
public void shareToWeixin(int shareType,String title,String detail,int drawable,String url) {
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = url;//收到分享的好友点击会跳转到这个地址里面去
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = title;
msg.description = detail;
try {
Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), drawable);
Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, 150, 150, true);
bmp.recycle();
msg.setThumbImage(thumbBmp);
} catch (Exception e) {
e.printStackTrace();
}
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = String.valueOf(System.currentTimeMillis());
req.message = msg;
req.scene = shareType;
api.sendReq(req);
}
private String buildTransaction(final String type) {
return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();
}
private String subStringByByte(String str, int len) {
String result = null;
if (str != null) {
byte[] a = str.getBytes();
if (a.length <= len) {
result = str;
} else if (len > 0) {
result = new String(a, 0, len);
int length = result.length();
if (str.charAt(length - 1) != result.charAt(length - 1)) {
if (length < 2) {
result = null;
} else {
result = result.substring(0, length - 1);
}
}
}
}
return result;
}
}
微信分享
最新推荐文章于 2023-06-17 17:45:27 发布