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

来源:互联网 发布:ubuntu win7 系统时间 编辑:程序博客网 时间:2024/05/29 14:32

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分享显示的消息描述1KBpublic java.lang.String title分享消息标题512Bytespublic 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

注:借鉴于 (慕课网)






原创粉丝点击