您的位置:首页 > 移动开发 > 微信开发

android微信分享之视频、URL地址、表情分享

2017-12-23 21:09 253 查看

android微信分享之视频、URL地址、表情分享

1、视频分享


1、创建WXVideoObject对象,用于指向视频URL
WXVideoObject videoObject = new WXVideoObject();
//        2、设置视频url
videoObject.videoUrl = "http://v.youku.com/v_show/id_XMzI0MzA3NjI1Ng==.html?spm=a2hww.20022069.m_215416.5~5~5~5!2~A";
//        3、创建WXMediaMessage对象,
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = videoObject;
msg.title = "内涵段子";
msg.description = "很搞笑哦";
//        4、设置缩略图
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), android.R.drawable.dialog_frame);
msg.thumbData = bitmapToByteArray(bitmap, true);
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.message = msg;
req.transaction = buildTransction("video");
req.scene = send_friend.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;
api.sendReq(req);


2、URL地址分享


WXWebpageObject WebObj = new WXWebpageObject();
WebObj.webpageUrl = "https://ke.qq.com/";
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = WebObj;
msg.title = "腾讯课堂";
msg.description = "视频你懂得哦!";
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), android.R.drawable.ic_input_add);
msg.thumbData = bitmapToByteArray(bitmap, true);
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransction("url");
req.message = msg;
req.scene = send_friend.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;
api.sendReq(req);


3、表情分享(注意 动态表情只能发给好友!朋友圈发送有问题!)

String path = "/storage/emulated/0/Tencent/QQ_Images/t01392d77969f7e42b2.gif";
WXEmojiObject emojiObj = new WXEmojiObject();
emojiObj.emojiPath = path;
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = emojiObj;
msg.title = "表情标题";
msg.description = "表情描述";
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), android.R.drawable.ic_input_add);
msg.thumbData = bitmapToByteArray(bitmap, true);
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransction("emoji");
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneTimeline;
api.sendReq(req);


总结

2. 检测

方法说明
boolean isWXAppInstalled()
用于检查本机是否安转微信


2. 根据不同的分享对象创建不同的媒体对象封装

分享对象封装对象示例不能超过的长度
文字WXTextObject构造函数:
WXTextObject(String shareText);
 或者是用属性
public
String text
赋值
10KB
图片WXImageObject构造函数
WXImageObject(Bitmap shareImage); WXImageObject(byte[] shareImage)
或者属性
public
byte[] imageData
封装图片二进制数据、属性
public String imagePate
封装本地图片路径以及方法
public
void setImagePath(String imagePath)封装网络图片
10MB
音乐WXMusicObject属性
public String musicUrl
属性封装音频网站的URL地址
10KB(地址)
视频WXVideoObject属性
public String videoUrl
属性封装视频链接
10KB(地址)
网页WXWebpageObject属性
public String webpageUrl
属性封装html链接
10KB(地址)
表情WXEmojiObject构造函数
WXEmojiObject(String emojiPath);
WXEmojiObject(byte[]
emojiData);
或者是方法
public void setEmojiData(byte[] emojiData)
public
void setEmojiPath(String emojiPath)
 
这五个类都是
Interface WXMediaMessage.IMediaObject
的子类。


3. 创建WXMediaMessage用来接受被封装的对象。

属性作用不能超过的长度
public WXMediaMessage.IMediaObject mediaObject
接受封装的媒体对象 
public java.lang.String description
分享显示的消息描述1KB
public java.lang.String title
分享消息标题512Bytes
public byte[] thumbData
分享显示的缩略图的二进制数据32KB
一般缩略图,是将bitmap通过其
public boolean compress(CompressFormat format, int quality, OutputStream stream)
方法要压缩后获取。

参考方法
//将bitmap转换为byte[]格式
private byte[] bmpToByteArray(final Bitmap bitmap, final boolean needRecycle){
ByteArrayOutputStream output = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, output);
if(needRecyle){
bitmap.recyle();
}
byte[] result = output.toByteArray();
try{
output.close;
}catch(Exception e){
e.printStackTrace();
}
return result;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

注:借鉴于 (慕课网)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息