Android之微信开放平台实现分享(分享好友和朋友圈)
来源:互联网 发布:泰格软件使用教程 编辑:程序博客网 时间:2024/05/20 23:39
开发中分享操作往往经常遇到,而且还是一些比较大型一定的平台,如微信,QQ,微博等。写这篇博客主要是把微信的的分享和相关操作表达一下,分享可以包含:文字,视频,音乐,图片等分享。
分享可以有 分享给好友,群,朋友圈等。
效果如下图:(注意:功能根据自己的需要选择就可以了)
准备工作:
微信开放平台创建应用,操作步骤请看博客:Android之微信开放平台创建应用
成功之后得到AppId,放入项目中。
public class Constants { // APP_ID 替换为你的应用从官方网站申请到的合法appId== public static final String APP_ID = "wx1b73fd7b49ffa027"; public static class ShowMsgActivity { public static final String STitle = "showmsg_title"; public static final String SMessage = "showmsg_message"; public static final String BAThumbData = "showmsg_thumb_data"; }
public class AppRegister extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final IWXAPI api = WXAPIFactory.createWXAPI(context, null); // 将该app注册到微信 api.registerApp(Constants.APP_ID); }}
文本分享代码:
// 初始化一个WXTextObject对象 WXTextObject textObj = new WXTextObject(); textObj.text = text; // 用WXTextObject对象初始化一个WXMediaMessage对象 WXMediaMessage msg = new WXMediaMessage(); msg.mediaObject = textObj; // 发送文本类型的消息时,title字段不起作用 msg.title = "Will be ignored"; msg.description = text; // 构造一个Req SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求 req.message = msg; /** * 判断是否是朋友圈 */ req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession; // 调用api接口发送数据到微信 api.sendReq(req);
图片分享代码:(包含 本地图片,SD卡图片,网络图片)
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.send_img); WXImageObject imgObj = new WXImageObject(bmp); WXMediaMessage msg = new WXMediaMessage(); msg.mediaObject = imgObj; Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, THUMB_SIZE, THUMB_SIZE, true); bmp.recycle(); msg.thumbData = Util.bmpToByteArray(thumbBmp, true); // 设置所图; SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("img"); req.message = msg; req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession; api.sendReq(req);
音乐分享代码
WXMusicObject music = new WXMusicObject(); music.musicUrl="http://staff2.ustc.edu.cn/~wdw/softdown/index.asp/0042515_05.ANDY.mp3"; WXMediaMessage msg = new WXMediaMessage(); msg.mediaObject = music; msg.title = "标题"; msg.description = "描述信息"; Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.send_music_thumb); msg.thumbData = Util.bmpToByteArray(thumb, true); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("music"); req.message = msg; req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession; api.sendReq(req);
视频分享代码
WXVideoObject video = new WXVideoObject(); video.videoUrl = "url....mp4";//mp4视频路径 WXMediaMessage msg = new WXMediaMessage(video); msg.title = "标题"; msg.description = "描述信息";Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.send_music_thumb); msg.thumbData = Util.bmpToByteArray(thumb, true); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("video"); req.message = msg; req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession; api.sendReq(req);
网页分享代码:
WXWebpageObject webpage = new WXWebpageObject(); webpage.webpageUrl = "http://www.baidu.com"; WXMediaMessage msg = new WXMediaMessage(webpage); msg.title = "标题"; msg.description = "描述信息"; Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.send_music_thumb); msg.thumbData = Util.bmpToByteArray(thumb, true); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("webpage"); req.message = msg; req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession; api.sendReq(req);
等等。
源码点击下载
0 0
- Android之微信开放平台实现分享(分享好友和朋友圈)
- Android实现微信开放平台、易信平台分享(好友及朋友圈)
- Android 实现微信分享好友和朋友圈
- Android应用实现微信分享(微信好友,朋友圈),分享链接,图片,文字
- 超详细React Native实现微信好友/朋友圈分享功能-Android/iOS双平台通用
- React Native实现微信好友/朋友圈分享功能-Android/iOS双平台通用
- android 应用实现微信好友或朋友圈分享
- android 应用实现微信好友或朋友圈分享
- jssdk实现自定义分享到微信好友和微信朋友圈
- 微信分享好友和朋友圈demo
- 微信分享好友和朋友圈demo
- 微信分享好友,朋友圈
- 微信分享好友,朋友圈
- Android:微信分享(好友、朋友圈、收藏)文字信息
- Android:微信分享(好友、朋友圈、收藏)图片信息
- ios 微信好友分享和朋友圈分享
- 分享内容到微信朋友圈和微信好友(使用微信分享SDK)
- work_weipa_使用shareSDK实现一键分享(QQ好友和空间、微信好友和朋友圈、新浪微博)
- GMII,RGMII,SGMII,TBI,RTBI接口信号及时序介绍
- B树、B-树、B+树、B*树
- android studio 通过wifi连接手机调试
- Hadoop客户端提交作业时java.lang.ClassNotFoundException
- 反射机制
- Android之微信开放平台实现分享(分享好友和朋友圈)
- windows下SVN服务器与web 站点的同步
- Oracle job
- 自定义错误页面
- 一条会跳动的贝塞尔曲线
- AlarmManager使用
- 2017年 蓝桥杯模拟赛,猜算式(纯暴力)
- 最简单的Dagger2入门教程
- CDOJ_511题解