android之微信分享图片

Android接入微信分享视频和图片 从14年10未毕业开始工作到现在,忍不住想写点东西,就从最近的用的东西写起吧。 首先是分享-微信分享 微信分享 首先要去微信的开发者平台去申请账号,这边注意申请的时候要填写签名的那个Md5值,然后获取APPID下面直接从代码说起: 第一步:接入 sdk,在开发者平台的资源中心有,放入libs下面, 在gradle里面 compile files(‘lib 阅读详情

android之微信分享图片

微信图像分享分为三类1、二进制图片2、本地图片3、URL地址图片

XML分析:三个Button 添加点击事件!

注意清单文件 权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

1、分享二进制图片:

将Bitmap转换成byte格式的数组  类

参数1: 穿入bitmap对象,参数2: 是否释放资源
private byte[] bitmapToByteArray(Bitmap bitmap, boolean recycle) {
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, output);
        if (recycle) {
            bitmap.recycle();
        }
        byte[] result = output.toByteArray();
        try {
            output.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

二进制图片分享代码:

//	第一步:获取二进制图像的Bitmap对象
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
//        第二步:创建WXImageObject,并包装bitmap
        WXImageObject imgObj = new WXImageObject(bitmap);
//        第三步:创建WXMediaMessage对象,并包装WXimageObjext对象
        WXMediaMessage msg = new WXMediaMessage();
        msg.mediaObject = imgObj;
//        第四步:压缩图片
        Bitmap thumBitmap = bitmap.createScaledBitmap(bitmap, 120, 150, true);
//        释放图片占用的内存资源
        bitmap.recycle();
        msg.thumbData = bitmapToByteArray(thumBitmap, true);//压缩图
//        第五步:创建SendMessageTo.Req对象,发送数据
        SendMessageToWX.Req req = new SendMessageToWX.Req();
//        唯一标识
        req.transaction = buildTransction("img");
//        发送的内容或者对象
        req.message = msg;
        req.scene = send_friend.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;
        api.sendReq(req);

2、分享本地图片:

  第一步:判读图像文件是否存在
        String path ="/storage/emulated/0/image/123.jpg";
        File file = new File(path);
        if(!file.exists()) {
            Toast.makeText(MainActivity.this, "文件不存在", Toast.LENGTH_SHORT).show();
        }

//        第二步:创建WXImageObject,
        WXImageObject imgObj = new WXImageObject();
//        设置文件的路径
        imgObj.setImagePath(path);
//        第三步:创建WXMediaMessage对象,并包装WXimageObjext对象
        WXMediaMessage msg = new WXMediaMessage();
        msg.mediaObject = imgObj;
//        第四步:压缩图片
        Bitmap bitmap =  BitmapFactory.decodeFile(path);
        Bitmap thumBitmap = bitmap.createScaledBitmap(bitmap, 120, 150, true);
//        释放图片占用的内存资源
        bitmap.recycle();
        msg.thumbData = bitmapToByteArray(thumBitmap, true);//压缩图
//        第五步:创建SendMessageTo.Req对象,发送数据
        SendMessageToWX.Req req = new SendMessageToWX.Req();
//        唯一标识
        req.transaction = buildTransction("img");
//        发送的内容或者对象
        req.message = msg;
        req.scene = send_friend.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;
        api.sendReq(req);

3、分享URL图片:

由于主线程中不能请求网络,需要开启线程:

Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
//                    第一步:创建WXImageObject对象,并设置URL地址
                    String url = "http://avatar.youkuaiyun.com/2/C/8/1_small_and_smallworld.jpg";
                    WXImageObject imgObj = new WXImageObject();
//                    设置图片的url
                    imgObj.imageUrl = url;
//                    第二步:创建WXMediaMeaasge对象,包装WXImageObject对象
                    WXMediaMessage msg = new WXMediaMessage();
                    msg.mediaObject = imgObj;
//                    第三步:压缩图片
                    Bitmap bitmap = BitmapFactory.decodeStream(new URL(url).openStream());
                    Bitmap thumBitmap = bitmap.createScaledBitmap(bitmap, 120, 150, true);
//                    释放资源
                    bitmap.recycle();
                    msg.thumbData = bitmapToByteArray(thumBitmap, true);
//                    第四部:创建SendMessageTo.Req对象,发送数据
                    SendMessageToWX.Req req = new SendMessageToWX.Req();
                    req.transaction = buildTransction("img");
                    req.message = msg;
                    req.scene = send_friend.isChecked()? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;
                    api.sendReq(req);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
        thread.start();

}


  


即时通讯App|发送图片消息的实现 即时通讯App——发送图片消息的实现 前置知识: 1、onActivityResult()的用法 假如有两个Activity A,B。如今需要从A的界面跳转到B的界面执行相应的操作。操作执行完毕之后,从B的界面跳转回A的界面,或许还会返回一些数据交给A处理,这样的数据交流可以利用回调函数onActivityResult()实现。 业务流程 1、读取相机/相册图片 2、发送图片消息 3、photo... 阅读详情

相关推荐

Android开发:分享文字跟多张图片到微信朋友圈

在工作中碰到需要分享9张图片到微信朋友圈,za

weidongjian的专栏 1万+

Android图片分享问题采坑总结

我们项目中经常会用到微信分享,好友分享,朋友圈分享,收藏等功能,虽然开发了很多遍可能还是遇到各种问题,今天主要整理我在开发中遇到的问题; 1.分享图片问题 开发者在 App 中在集成微信 SDK 后,可调用接口实现,依次支持文字、图片、音乐、视频、网页、小程序类型分享,分享支持参考如下:WXMediaMessage (微信媒体消息内容)说明 | 微信开放文档; 今天主要讲讲图片分享我遇到的一些问题,首先了解分享图片的限制如下: WXMediaMessage (微信媒体消息内容)说明 字段 类

Tiger的专栏 2159

android微信纯图片分享和网页分享

由于公司要接入微信分享,需求是接入纯图片分享和网页分享。这里给大家分享一下是怎么接入的。 首先在微信开发者平台注册应用 https://open.weixin.qq.com/cgi-bin/frame?t=home/app_tmpl&lang=zh_CN 微信sdk下载 https://open.weixin.qq.com/cgi-bin/showdocument?action=dir

leap2018的博客 7927

Android多图分享至微信

new Thread(new Runnable() { @Override public void run() { ArrayList<File> files = new ArrayList<>(); for (int i=0;i<mPictures1.size();i+...

weixin_45105590的博客 3191

Android 布局生成微信分享图片

Android 布局生成微信分享图片,需要的小伙伴们可以下载看看!我们互相学习!!

【Ultrascale+ MPSOC学习记录】10、PS端以太网使用lwip

还是参考ALINX教程,学习PS端以太网如何使用,从教程中可以看到,开发板使用了一个xilinx默认不支持的phy JL2121,所以需要修改lwip的库源码。

ryo891012的博客 883

Android 原生分享图片文字到微信

分享纯文字 Activity代码使用 shareWechatFriend(MainActivity.this, "这里是分享的内容"); 方法shareWechatFriend(Context context, String content) //分享纯文本到微信 /** * Context context * 分享的内容 content */ public void shareWechatFriend(Context context, Str.

qq_35499638的博客 1391

反激开关电源设计全解析:从CCM/DCM原理到PCB布局实战

开关电源作为现代电子设备的能量转换核心,其核心原理是通过高频开关动作实现高效的电能变换。反激拓扑因其结构简单、成本低廉且易于实现电气隔离,成为小功率离线式电源的主流选择。其技术价值在于通过变压器耦合实现能量存储与传递,解决了安全隔离与多路输出等关键需求,广泛应用于充电器、适配器及家电供电等场景。本文聚焦反激电路,深入剖析其CCM与DCM两种工作模式的原理差异及选型考量,并结合伏秒平衡定律与RCD钳位等热词,详解从变压器计算到MOSFET选型的完整工程设计流程。

weixin_31951365的博客 344

使用友盟社会化分享安卓android版SDK分享纯图片到微信

本人使用的其实是友盟的Cocos2d-x安卓版。普通安卓版使用方式稍有不同,但是设置分享内容的接口是一样的。友盟官方文档中提到过他们支持微信纯图片分享,就是分享一张纯图片,而非一条图文链接,到微信朋友圈,点击之后变大图的那种。但是他们并未说明如何设置,默认设置是分享一条图文链接。尤其是Cocos2d-x版,设置隐藏的还挺深,着实花了一番功夫才搞明白。 本文默认读者已经阅读过友盟的官方帮助

操练起来。。。 5269

初学者入门机器学习 (ML)的推荐教程

了解基本的机器学习概念并不难。有大量免费的在线博客文章、视频和编码教程可以引导您了解基础知识——从介绍性内容到常见应用程序,再到算法和应用技能。这篇文章总结了一些用于介绍 ML 的最佳免费选项。它按逻辑顺序排列,每个概念都建立在上一个概念的基础上。

u010542847的博客 4626

手把手教你用RMII接口配置以太网PHY芯片(附YT8512实战代码)

本文详细介绍了如何使用RMII接口配置以太网PHY芯片,以国产YT8512为例,提供从硬件设计到软件驱动的全流程实战指南。内容包括RMII接口技术解析、YT8512硬件设计要点、驱动开发实战代码及常见问题排查,帮助开发者快速实现以太网通信功能。

mac99的博客 997

安卓微信二次分享不显示描述和图片

问题描述 在做微信分享的时候有遇到过这样的问题,,第一次分享到微信,描述和图片都能正常显示,但是打开连接用微信自带的分享功能进行分享时,就会出现以下情况:描述变链接、图片不显示、标题变更。 导致的原因 实现微信分享需要调用JSSDK的两个分享接口,按照微信JSSDK最新JS 1.4.0文档上说: “原有的 wx.onMenuShareTimeline、wx.onMenuShareAppM...

weixin_43946756的博客 7070

使用BK3432芯片进行蓝牙开发的详细指南:编程手册与实际应用

BK3432是一款蓝牙4.2双模式芯片,支持蓝牙低功耗(BLE)和经典蓝牙(BR/EDR)模式。它集成了高性能的RF收发器、基带处理器、ARM9E内核、丰富的功能外设单元,并支持BLE应用的可编程协议和概要文件。蓝牙版本:4.2数据速率:最高支持2Mbps内核:ARM9ERF收发器:高性能、低功耗外设单元:包括UART、SPI、I2C、GPIO等功耗:超低功耗设计,适合电池供电的应用。

m0_57781768的博客 4456

android微信分享长图功能,安卓分享9宫格图片到微信

首先感谢@DCloud_Android_磊子,test_weixin_share_mul_pic这个是他写给我的,我只做了一点小改动用法,先setShareMsg把当前页面的商品名称、相册存到全局变量msg,然后调用shareToWechat弹出actionSheet选择分享到朋友圈或者发送给好友。函数代码如下:function setShareMsg(goodsdata){msg.content...

weixin_36479263的博客 534

避坑指南:RK3588视频编码与SRT推流实战中,我遇到的5个典型问题及解决方案

本文深度解析RK3588平台视频编码与SRT推流实战中的五个典型问题,包括MIPI摄像头内存对齐、多线程数据传递、FFmpeg时间戳设置、SRT连接参数调优及系统资源监控。提供具体解决方案和优化技巧,帮助开发者高效实现实时视频网络传输。

weixin_28718793的博客 325

TensorFlow实战:5步搞定因果推断模型TARNet(附完整代码)

本文提供了一份基于TensorFlow的TARNet因果推断模型实战指南。通过五个清晰步骤,从数据预处理、模型构建到训练评估,详细讲解了如何利用深度模型解决营销评估、疗效分析等场景中的因果效应估计问题,并附有完整代码解决样本不平衡等工程挑战。

python9snake的博客 418

Android 微信分享,微信分享图片

直接贴代码吧 微信分享正常连接 WXWebpageObject webpage = new WXWebpageObject(); webpage.webpageUrl = string; WXMediaMessage msg = new WXMediaMessage(webpage); msg.title = "标题"; msg...

~~代码中的南城故事,南城故事里的中分女王。 1376

【Codex】Codex安装+DeepSeek API接入;无需登录,手把手带你使用codex

好多人使用codex时都卡在验证码登录那一步,今天就来介绍一种方法,不需要登录ChatGPT的账号,自然也就不需要手机验证码了;接入DeepSeek的api,一样可以丝滑使用codex;记录从零开始安装使用codex以及DeepSeek API接入的整个过程。不需要登录openAI;

AnChenliang_1002的博客 3550

android 多图分享到微信,Android 微信分享 多张图片

备注:①.这个不用导入微信的jar和注册微信的APP_ID 。②. 实际上分享时是调用系统本地的分享功能,所以分享的图片必须要保存到本地。③. 保存到本地是耗时操作 分享的代码需要在子线程执行 。分享1.分享到微信好友// 图片地址Listfinal ListurlList= new ArrayList<>();// 图片Filefinal Listfiles = new ArrayL...

weixin_32597695的博客 1368

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

微信分享图片 文字 Android原生分享图片文字 微信小程序分享

最近接一个小程序的分享,要求我们app端生成一个图片给用户用微信扫码,本地直接调微信分享小程序链接。根据微信官方api(https://open.weixin.qq.com/)接了小程序,代码如下 //小程序分享 public void shareLocal() { WXMiniProgramObject programObject = new WXMiniProgramObje

SingleView的博客 1824

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android——intent分享图片到微信好友、朋友圈、QQ

直接上代码,工具类 import android.content.ComponentName; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.database.Cursor; import android.net.Uri; import and

Saqino的博客 2985

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android+怎么分享图片大小,Android微信分享图片大于32k进行压缩

微信分享视频的时候,需要传一个图片数组,大小不能大于32k。解决方案:使用Bitmap自带的compress方法解决了这个问题.源码如下:package com.example.test;import java.io.ByteArrayOutputStream;import java.net.HttpURLConnection;import java.net.URL;import android....

weixin_33877700的博客 1341

android 微信分享多张图片大小,Android 关于微信分享图片过大失败的解决方案

android 关于微信分享图片过大失败的解决方案。这是因为微信对缩略图做了限制,最大不超过32k。所以可以先通过图片加载工具获取bitmap,然后进行压缩,压缩方法如下://压缩图片public bitmap createbitmapthumbnail(bitmap bitmap) {int width = bitmap.getwidth();int height = bitmap.gethei...

weixin_36482670的博客 1445

Android 关于微信分享图片过大失败的解决方案

参考:https://blog.youkuaiyun.com/dl10210950/article/details/53125589https://blog.youkuaiyun.com/yaya_soft/article/details/11077155这是因为微信对缩略图做了限制,最大不超过32K所以可以先通过图片加载工具获取bitmap,然后进行压缩,压缩方法如下: //压缩图片 public Bitm...

随风的博客 5857

微信android分享到朋友圈图片,android微信分享到朋友圈 图片过大闪退

原先集成过微信的分享,分享到朋友圈和微信对话都没有问题。项目上线由于图片各异,最近会偶尔出现分享到朋友圈时候根本就打不开share的界面,但是到微信聊天是可以;下面贴出先前的代码:Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.send_img);WXImageObject imgObj = new WXIm...

weixin_35204634的博客 196

Android 微信 图片无法分享

最近在做微信分享的功能,图片分享,小程序分享,由于图片的原因,有的图片总是分享不出去。于是对这块进行了一些深入分析 分析过程 1、关于进程间通信 经过查看log日志,发现已经调用了微信的WXEntryActivity,并且我的App Activity 已经paused,但是没有跳到微信的分享界面,Activity 会马上resumed。 在log中看到这样的信息 2020-03-31 17:43:...

薛瑄的博客 1804
上一篇: android之微信分享文本
下一篇: android之微信分享音频
JSON_ZJS
博客等级 码龄9年 30粉丝 159原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值