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

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

注:借鉴于 (慕课网)






本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2015蓝桥杯省赛---java---A---3(九数分三组)

题目描述 代码实现 package TEST;class Main{public static void main(String[] args) {for (int i 100; i < 335; i) {if(check(i)){System.out.println(i);}}}public static boolean check(int n){String an""n*2n*3;if(a.contains("1")&&a…

EntityFramework Core不得不注意的性能优化意外收获,你会用错?

前言 这两天在着实研究EF Core项目当中对于一些查询也没实际去检测&#xff0c;于是想着利用放假时间去实际测试下&#xff0c;结果本文就出来了&#xff0c;too young,too simple&#xff0c;后续博主会从底层翻译表达式树弄起&#xff0c;来从源头了解EF Core&#xff0c;通…

微服务为什么离不开spring cloud?

转载自 微服务为什么离不开spring cloud? 现如今微服务架构十分流行&#xff0c;而采用微服务构建系统也会带来更清晰的业务划分和可扩展性。同时&#xff0c;支持微服务的技术栈也是多种多样的&#xff0c;本系列文章主要介绍这些技术中的翘楚——Spring Cloud。这是序篇&a…

html画等边三角形,前台面试:使用CSS画一个等边三角形

CSS是前台面试必考的内容&#xff0c;有时候会面试官会出题让你画少量基本图形。由于画图的过程中可以考察很多的CSS知识点。今天我们就和大家详情一个比较难得等边三角形。思路是利使用三个div的边框来拼成一个三角形&#xff0c;只要要调整好左右两个div边框的旋转角度&#…

CSS3美化网页元素

一、CSS的作用&#xff1a; 1.有效的传递页面信息。 2.使用CSS美化过的页面&#xff0c;使得页面更加漂亮&#xff0c;吸引用户。 3.可以很好的突出页面的主题内容。 4.具有良好的用户体验。 二、span标签的作用&#xff1a; 自己本身在网页中不起作用&#xff0c;但是可以让某…

2017蓝桥杯省赛---java---A---1(迷宫)

题目描述 X星球的一处迷宫游乐场建在某个小山坡上。 它是由10x10相互连通的小房间组成的。房间的地板上写着一个很大的字母。 我们假设玩家是面朝上坡的方向站立&#xff0c;则&#xff1a; L表示走到左边的房间&#xff0c; R表示走到右边的房间&#xff0c; U表示走到上坡方…

Android之ZXing扫描二维码以及生成二维码

Android之ZXing扫描二维码以及生成二维码 ZXIng项目地址&#xff1a;ZXing地址 项目结构 扫描二维码&#xff1a;使用 CaptureActivity类 项目代码&#xff1a; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; impo…

[认证授权] 2.OAuth2授权(续) amp;amp; JSON Web Token

0. RFC6749还有哪些可以完善的&#xff1f; 0.1. 撤销Token 在上篇[认证授权] 1.OAuth2授权 中介绍到了OAuth2可以帮我们解决第三方Client访问受保护资源的问题&#xff0c;但是只提供了如何获得access_token&#xff0c;并未说明怎么来撤销一个access_token。关于这部分OAut…

Nginx动静分离实现负载均衡

转载自 Nginx动静分离实现负载均衡 前期准备 使用Debian环境。安装Nginx(默认安装)&#xff0c;一个web项目&#xff0c;安装tomcat(默认安装)等。 Nginx.conf配置 1 # 定义Nginx运行的用户 和 用户组 如果对应服务器暴露在外面的话建议使用权限较小的用户 防止被入侵2 # …

浮动

一、标准文档流&#xff1a; 1.指元素根据块级元素或行内元素的特性按从上到下&#xff0c;从左到右的方式自然排列&#xff0c;默认的排序方式。 二、块级元素&#xff1a; div,p,列表&#xff1a;宽度默认为浏览器的宽度&#xff0c;可以单独设置宽和高 三、行内元素&#xf…

html5动画是什么,10个HTML5动画 让你忘掉Flash是啥(组图)

你最近可能已经听到了很多关于Flash是面临垂死挣扎的技术以及它将如何很快被HTML5的取代。就个人而言&#xff0c;我认为HTML5会慢慢取代一些Flash的东西&#xff0c;但Flash会永远有它的一席之地&#xff0c;特别是开发复杂的游戏和丰富的互联网应用。如果你还没有看到HTML5动…

Android之Bitmap高效缓存以及android缓存策略

Android之Bitmap高效缓存 一、Bitmap高效加载 1、bitmap的基本概念 位图&#xff1a;获取像素值进行加载。 Bitmap是Android系统中图像处理中的最重要的一个类。 通过Bitmap我们也看获取图片的信息 获取到信息后&#xff0c;我们可以对其进行缩放、裁剪等操作 2、Bitmap的…

2016蓝桥杯省赛---java---A---6(寒假作业)

题目描述 现在小学的数学题目也不是那么好玩的。 看看这个寒假作业&#xff1a;□ □ □ □ - □ □ □ □ □ □ □ □(如果显示不出来&#xff0c;可以参见【图1.jpg】)每个方块代表1~13中的某一个数字&#xff0c;但不能重复。 比如&#xff1a; 6 7 13 9 - 8 1 …

微服务网关Ocelot

微服务网关是微服务架构中的核心组件,它是客户端请求的门户,它是调用具体服务端的桥梁.下面我们将使用开源项目Ocelot&#xff08;https://github.com/geffzhang/Ocelot&#xff09;搭建一款轻量级服务网关,不过在此之前我们将对微服务网关做个详细介绍,以便大家更加清晰的了解…

定位网页元素

定位网页元素一、position属性&#xff1a; 1.static&#xff1a;默认值&#xff0c;网页没有定位 2.relative:相对定位 &#xff08;1&#xff09;设置相对定位的元素&#xff0c;盒子会相对于他原来的位置进行偏移&#xff0c;达到新位置。 &#xff08;2&#xff09;设置相对…

分表分库时机选择及策略

转载自 分表分库时机选择及策略 一. 分表 应用场景&#xff1a; 对于大型的互联网应用来说&#xff0c;数据库单表的记录行数可能达到千万级甚至是亿级&#xff0c;并且数据库面临着极高的并发访问。采用Master-Slave复制模式的MySQL架构&#xff0c;只能够对数据库的读进…

html session 登录页面跳转页面跳转页面,session失效后跳转到登陆页面

一、编写Filter拦截器类package com.pv.utils;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public …

pagerAdapter 与FragmentPagerAdapter的区别

转自&#xff1a;http://blog.csdn.net/dreamzml/article/details/9951577 ViewPager ViewPager 如其名所述&#xff0c;是负责翻页的一个 View。准确说是一个 ViewGroup&#xff0c;包含多个 View 页&#xff0c;在手指横向滑动屏幕时&#xff0c;其负责对 View 进行切换。为了…

2015蓝桥杯省赛---java---A---2(星系炸弹)

题目描述 思路分析 方案一 方案二 package TEST;import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;class Main{public static void main(String[] args) {SimpleDateFormat dateFormat new SimpleDateFormat("yyyy-MM-dd");…

NuGet社区使用体验调查

Nuget 是我们使用.NET Core的一项基础设施&#xff0c;针对国内访问NuGet服务器速度不稳定的问题我们希望通过收集一些来自用户的反馈来改善社区使用NuGet的体验。恳请您花2-3分钟时间完成以下的问题&#xff0c;我们会非常重视您的反馈。当我们收集完成所有的问卷&#xff0c;…