分享图片给微信好友 && 分享链接给微信好友
package com.thesis.course.minicourse.umeng
import android.app.Activity
import android.content.Context
import android.graphics.Bitmap
import android.util.Log
import com.thesis.course.minicourse.bean.ShareContent
import com.thesis.course.minicourse.main.MainActivity
import com.thesis.course.minicourse.utils.BitMapUtil
import com.umeng.socialize.ShareAction
import com.umeng.socialize.bean.SHARE_MEDIA
import com.umeng.socialize.media.UMImage
import com.umeng.socialize.media.UMWeb
public class UMShareUtil {
private static final String TAG = "UMShareUtil"
private volatile static UMShareUtil instance = new UMShareUtil()
public static UMShareUtil getInstance() {
return instance
}
/**
* 分享图片给微信好友,并设置要分享的图片为缩略图
* @param picUrl
* @param activity
*/
public void shareImgToWechatFriend(String picUrl,Activity activity){
UMImage image = new UMImage(activity, picUrl)
image.compressStyle = UMImage.CompressStyle.SCALE
image.compressStyle = UMImage.CompressStyle.QUALITY
// 压缩格式设置
image.compressFormat = Bitmap.CompressFormat.PNG
new Thread(() -> {
byte[] bytes = BitMapUtil.getFile(picUrl)
Log.e(TAG, "run: 异步 bytes " + bytes)
UMImage thumb = new UMImage(activity, bytes)
image.setThumb(thumb)
}
).start()
new ShareAction(activity)
.setPlatform(SHARE_MEDIA.WEIXIN)
.setDisplayList(SHARE_MEDIA.WEIXIN)
.setCallback(UMShareListenerIml.getInstance())
.withMedia(image).open()
}
/**
* 分享链接给微信好友
* @param content 要分享的详细内容
* @param context 分享的宿主acvitity
*/
public void shareLinkToWechatFriend(ShareContent content, Activity context){
UMWeb web = new UMWeb(content.getLink())
new Thread(() -> {
byte[] bytes = BitMapUtil.getFile(content.getImgUrl())
Log.e(TAG, "run: 异步 bytes " + bytes)
UMImage thumb =(new UMImage(context, bytes))
web.setThumb(thumb)
}
).start()
web.setTitle(content.getTitle())
web.setDescription(content.getDesc())
new ShareAction(context)
.withMedia(web)
.setDisplayList(SHARE_MEDIA.WEIXIN)
.setPlatform(SHARE_MEDIA.WEIXIN)
.setCallback(UMShareListenerIml.getInstance())
.share()
}
}