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

Android进阶秘籍:从原理到实战,四大模块,200页微信小程序开发宝典(UI 开发、API 操作、项目实战 1、背景与趋势微信小程序发展趋势微信小程序发展前景2、小程序技术方案微信小程序支付宝小程序3、开发工具微信小程序官方开发工具即速应用WebStorm4、MINA 框架MINA 框架MINA 框架主要分为两大部分目录结构5、逻辑层与页面层逻辑层与界面层分离逻辑层的 JavaScript界面层–数据绑定列表渲染事件处理事件冒泡事件传参单向数据流登录页面案例抽象共同的事件处理函数条件渲染界面层(WXSS vs CSS)6、单项数据流单项数据流setData 作用。 阅读详情

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

 //小程序分享
public void shareLocal() {
     WXMiniProgramObject programObject = new WXMiniProgramObject();
     programObject.webpageUrl = "http://qq.com";
    //你申请的username和path
     programObject.userName = "sssssss";
     programObject.path = "22222222";
     WXMediaMessage mes = new WXMediaMessage(programObject);
     mes.title = "小程序分享";
     mes.description = "扫码打开小程序";
     ContentResolver resolver = getContentResolver();
     try {
         Bitmap bitmap = BitmapFactory.decodeStream(resolver
                 .openInputStream(uriLocal));
         Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, THUMB_SIZE, THUMB_SIZE, true);
         bitmap.recycle();
         mes.thumbData = MyCommonUserUtils.Bitmap2Bytes(scaledBitmap);
         SendMessageToWX.Req req = new SendMessageToWX.Req();
         req.transaction = buildTransaction("webpage");
         req.message = mes;
         req.scene = SendMessageToWX.Req.WXSceneSession;
         IWXAPI api = WXAPIFactory.createWXAPI(MicroshopQRCodeActivity.this, "wxc25ceaf2882bcf67", false);
         int wxAppSupportAPI = api.getWXAppSupportAPI();
         api.sendReq(req);
     } catch (Exception e) {
         e.printStackTrace();
         LogUtil.e("========================" + e);

     }


 }
最后分享的时候却报了一个 无法分享到微信 由于应用和小程序未绑定在同一微信开放平台,无法分享到微信。
我们的用户全绑定到我们不太可能,所以只能通过图片分享了。
一开始用安卓原生的分享
代码如下: 
    //Android原生分享
    private void shareMultiplePictureToTimeLine(File... files) {
        Intent intent = new Intent(Intent.ACTION_SEND);
        //"com.tencent.mm.ui.tools.ShareImgUI"发送给联系人
        //"com.tencent.mm","com.tencent.mm.ui.tools.AddFavoriteUI"添加到收藏
        //"com.tencent.mm.ui.tools.ShareToTimeLineUI" 发送到朋友圈
	//如要实现多平台分享,setComponent去掉即可。
        ComponentName comp = new ComponentName("com.tencent.mm",
                "com.tencent.mm.ui.tools.ShareImgUI");
        intent.setComponent(comp);
	//intent.setType("text/plain");

        intent.setType("image/*");
        try {
            File file = new File(new URI(uriLocal.toString()));
            Uri uri = Uri.fromFile(file);
            intent.putExtra(Intent.EXTRA_STREAM, uri);
            intent.putExtra(Intent.EXTRA_SUBJECT, "分享");
            intent.putExtra(Intent.EXTRA_TEXT, "你好 ");
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//            startActivity(intent);
            startActivity(Intent.createChooser(intent, "我是标题"));
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
发现无法实现图文分享要么分享文字要么分享图片,而且分享的图片时文件模式的,小图标也看不到。
后选择微信skd的图文分享
代码如下
//微信图片分享
    void shareByWx() {
        if (uriLocal == null) {
            MyCommonUserUtils.showSafeToast(MicroshopQRCodeActivity.this,"无可分享二维码!");
            return;
        }
        ContentResolver resolver = getContentResolver();
        Bitmap bitmap = null;
        try {
            bitmap = BitmapFactory.decodeStream(resolver
                    .openInputStream(uriLocal));

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        ;
        WXImageObject imageObject = new WXImageObject(bitmap);
        WXMediaMessage msg = new WXMediaMessage();
        msg.mediaObject = imageObject;
        //设置缩略图
        Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, THUMB_SIZE, THUMB_SIZE, true);
        bitmap.recycle();
        msg.thumbData = MyCommonUserUtils.bmpToByteArray(scaledBitmap, true);
        SendMessageToWX.Req req = new SendMessageToWX.Req();
        req.transaction = buildTransaction("img");
        req.message = msg;
        req.scene = SendMessageToWX.Req.WXSceneSession;
        IWXAPI api = WXAPIFactory.createWXAPI(MicroshopQRCodeActivity.this, "wxc25ceaf2882bcf67", false);
//        如果未注册要先注册
//        api.registerApp("wxc25ceaf2882bcf67")
//        检查api是否有效
//        api.openWXApp();注意sdk版本
        api.sendReq(req);


    }
  
//saveImageFile为本地分享图片地址路径
    uriLocal = Uri.fromFile(saveImageFile);
补充一个bitmap 转byte 数组方法
 public static byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) {

//        复制代码
        int i;
        int j;
        if (bmp.getHeight() > bmp.getWidth()) {
            i = bmp.getWidth();
            j = bmp.getWidth();
        } else {
            i = bmp.getHeight();
            j = bmp.getHeight();
        }

        Bitmap localBitmap = Bitmap.createBitmap(i, j, Bitmap.Config.RGB_565);
        Canvas localCanvas = new Canvas(localBitmap);

        while (true) {
            localCanvas.drawBitmap(bmp, new Rect(0, 0, i, j), new Rect(0, 0,i, j), null);
            if (needRecycle)
                bmp.recycle();
            ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
            localBitmap.compress(Bitmap.CompressFormat.JPEG, 100,
                    localByteArrayOutputStream);
            localBitmap.recycle();
            byte[] arrayOfByte = localByteArrayOutputStream.toByteArray();
            try {
                localByteArrayOutputStream.close();
                return arrayOfByte;
            } catch (Exception e) {
                //F.out(e);
            }
            i = bmp.getHeight();
            j = bmp.getHeight();
        }
    }
最后遇到一个坑是无论怎么都跳不到微信分享页面
报错checkArgs fail, thumbData is invalid
查资料发现分享图片缩略图不能大于32kb
这里将
Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, THUMB_SIZE, THUMB_SIZE, true);
THUMB_SIZE 设置小一点就行了。
如果有什么疑问或建议欢迎留言或私信。


记录微信小程序打开的方式的各种场景值(scene的值) uniapp(微信小程序)通过onLaunch生命周期获取场景值。使用场景:如需要判断用户是否通过扫码进入小程序。 阅读详情

相关推荐

uniapp(安卓 | 苹果) - 最新实现安卓、苹果app端将资源分享到微信、朋友圈、转发给好友、QQ、手机本地app应用,App平台端如何调用手机系统原生分享功能,图片音频视频文字文件文档在线分享

uni-app,安卓app,苹果app,手机app端,苹果ios,安卓Android,移动端app,分享,微信分享,qq分享,微信朋友圈,微信好友,转发,发送,vue2,vue3,App端调用手机的系统分享,分享功能,App端调用手机的系统分享,可分享到微信、朋友圈等,插件,微信appid,发送到微信,朋友圈,还有别的选项,分享到微信朋友圈和微信好友,无法调起分享面板,如何解决这个问题,plus.share.sendWithSystem,app分享到朋友和朋友圈,没有appid分享不了怎么办,uni.sha

✅ 精选推荐文章 2302

微信小程序分享图片给微信好友

1.服务器地址:先用wx.downloadFile转为本地地址,再用 wx.showShareImageMenu进行分享。3.需要在微信公众平台对服务器地址进行配置(downloadFile合法域名)2.本地地址直接用wx.showShareImageMenu进行分享。

qq_45314219的博客 3537

Android 布局生成微信分享图片

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

Android第三方应用分享到微信朋友圈,微信好友(原创)

首先,这篇博客是面向刚刚开始做Android开发的

zqq965774513的专栏 3358

线性代数知识点整理

线性代数基础知识点摘要整理

cuguanren的博客 3万+

保姆级教程:在STM32H750VBT6上跑起来CMSIS-DSP库(基于CubeMX+Keil)

本文详细介绍了在STM32H750VBT6微控制器上配置和运行CMSIS-DSP库的全过程,包括开发环境搭建、CubeMX工程配置、Keil工程设置以及DSP库的实际应用示例。通过FFT频谱分析和音频均衡器等实战案例,展示了如何利用STM32H750VBT6的硬件FPU加速DSP运算,提升实时信号处理性能。

weixin_30236595的博客 458

原生微信小程序转发分享

微信小程序转发功能

qq_48630174的博客 730

永磁同步电机定子槽型设计实战:从梨形槽到矩形槽的NVH优化之路

本文深入探讨了永磁同步电机定子槽型设计在NVH优化中的关键作用,对比了梨形槽与矩形槽的性能差异。通过Ansys Maxwell仿真和实际案例,揭示了矩形槽在提升槽满率、降低电磁噪声方面的优势,并总结了五大设计黄金法则,为电机设计工程师提供了实用指导。

weixin_28740299的博客 494

【微信小程序】实现生成图片分享朋友圈

目前小程序只支持卡片方式分享到聊天页面,官方不知道何时会新增分享朋友圈方式。最近有个需求要分享到朋友圈,现在大家的通用做法就是通过Canvas生成一张图片后进行保存,然后自行转发朋友圈。最近有个此类需求,至此把开发过程中遇到的坑做个记录,下面先看下效果图。

Ho博客 4万+

RAP 通用搜索实战:用 CDS 注解打造 Fiori Elements 的一体化检索体验

RAP应用中的通用搜索优化实践:通过CDS注解实现高效模糊匹配 摘要:本文介绍了在SAP RAP应用中优化列表搜索体验的方法。通过CDS注解配置通用搜索功能,用户无需指定字段即可在多字段中模糊匹配数据。关键实现包括:1)使用@Search.searchable启用全局搜索;2)通过@Search.defaultSearchElement标记核心搜索字段;3)利用@Search.fuzzinessThreshold设置容错阈值(0.7-1.0)处理拼写错误;4)使用@Search.ranking优化结果排序。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1398

SAP CPI 之使用国密算法实现SM系列算法加解密

System.out.println("SM2-私钥:" + privateKey);System.out.println("SM2-公钥:" + publicKey);System.out.println("SM2-密文:" + encrypts);System.out.println("SM2-明文:" + data2);新建groovy,通过import之后,调用jar包中的方法。在CP中导入jar包,选择Upload,选中导入的jar包。的密钥和向量值,不安全!的公钥和私钥,不安全!

u012830826的博客 1335

uniapp分享微信提示由于不支持的分享类型无法分享到微信,App分享为微信小程序方法,由于不支持的分享类型无法分享到微信,由于应用和小程序未绑定在同意微信开放平台账号,无法分享到微信.

在使用uniapp开发App分享微信,提示,就很苦恼,明明已经按照文档,该配置的都配置了,结果兴致勃勃的分享一下,结果提示一个这种错误,记录一下解决方案。管理中心小程序uni.share到这里就完成了~

qq_38188228的博客 1万+

鸿蒙系统开发工程师:核心技术解析与深度面试指南

摘要: 鸿蒙系统开发工程师需具备底层驱动开发、系统移植优化及分布式架构能力。核心职责包括硬件适配(Bootloader、内核移植、HDF驱动开发)、性能调优(启动加速、功耗管理)及稳定性保障。技术要求涵盖C/C++编程、Linux内核机制、鸿蒙架构(HDF、分布式服务)及ArkTS/ArkUI基础。面试重点考察系统移植流程(如ARM板适配)、驱动开发(I2C/Display)、性能优化手段及内存/同步机制的应用。

郑伟强dev的专栏 431

React-Native-Wechat-Lib API 详解:登录、分享、支付核心功能全解析

🚀 想要在 React Native 应用中集成微信生态的核心功能吗?React-Native-Wechat-Lib 是您的最佳选择!这个强大的库为 React Native 开发者提供了完整的微信登录、分享、收藏和支付功能支持,让您的应用轻松接入微信生态,提升用户体验和转化率。本文将为您详细解析这个库的核心 API 功能,帮助您快速上手并掌握关键开发技巧。 ## 🔑 微信登录功能详解 微

gitblog_00323的博客 781

让 ME51N 在采购信息记录过期时不要带出上一次采购订单的价格

在采购信息记录(PIR)价格条件无效或过期时,到上一次采购订单价格进行提议;你可以通过关闭,并在把PO price设置为不采纳,再辅以把过期的价格来源直接拦截为错误。若仍需 100% 阻断,可用在保存前清空估价价格作为技术兜底。标准行为与配置证据见文内引用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 664

多传感器标定:如何统一摄像头、雷达与IMU坐标?

多传感器标定:如何统一摄像头、雷达与IMU坐标?​ ,人工智能,计算机视觉,大模型,AI,本文详细阐述多传感器标定中统一摄像头、雷达与 IMU 坐标的方法。先介绍传感器坐标系统、坐标统一必要性及变换数学基础,再分述摄像头与雷达、IMU 与摄像头、IMU 与雷达的标定原理、步骤、参数计算及结果验证,还讲解了多传感器坐标统一的整体流程,分析了标定常见问题及解决办法,介绍了常用标定工具,结合实际案例说明应用,探讨了标定精度的影响因素、提升方法及发展趋势,为相关领域提供了全面的多传感器标定指导。​

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 12万+

开发文档:移动应用支持微信小程序类型分享(Android应用)

昨天,第九程序为大家介绍了关于移动app可分享小程序页面的ios应用文档(点击ios应用查看),今天带来的是关于Android应用开发文档,需要的请注意查收!

第九程序官方博客 5152

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

微信小程序使用canvas画布生成二维码海报分享图片(完整示例代码)

//获取应用实例const app = getApp()Page({/***/data: {// canvas_width: 0, //手机屏宽_heigth: 0,//手机屏高swiperHeight: 300,//主图图片高度canvasType: false,//canvas是否显示loadImagePath: ‘’,//下载的图片imageUrl: ‘https://cos.myfaka.com/car/service/1.jpg’, //主图网络路径codeUrl: ‘https://cos.my

2401_84009130的博客 468

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

微信小程序入门

小程序出来也挺久了,才开始学习,也了解了下其原理及来源 现在前端技术主要有3类 小程序:mvvm架构,js+css3+html以及自带语法糖 React:mvvm架构,es6 flutter:mvvm,DSL主要以dart作为基础编程 uniapp:小程序源头原生公司,前身流应用,mvvm架构,js为主,html+css3 目前在学的是微信小程序,最近多学了几门前端语言,也发现了个学习规律,先了解其结构,目录,文件,基本组成等,然后看看基础语法,然后再找个小项目直接上手开撸,撸完之后,基本的组件

weixin_42607020的博客 355

微信小程序垃圾分类项目源码来了~​

微信小程序校园社团管理系统项目源码来了~团队承接各类小程序定制,需要加微 code_gg_boy 。小商城,购物,公司的一些管理,流程批准,视频播放次数授权。云服务开发或java后端,都可...

程序员入门进阶 2125

wechat_kit与其他SDK对比:选择最适合的Flutter微信集成方案

如果你正在为Flutter应用寻找微信登录、分享和支付的集成方案,那么选择合适的微信SDK至关重要。在众多的Flutter微信集成方案中,wechat_kit凭借其完整的功能覆盖和简洁的API设计脱颖而出,成为许多开发者的首选。本文将详细对比wechat_kit与其他主流Flutter微信SDK,帮助你做出明智的选择。 ## 🔍 为什么需要专业的Flutter微信SDK? 微信作为中国最大的

gitblog_00614的博客 801

python微信小程序的基于安卓云笔记分享系统 活动报名系统

简单说,一个管安全规则,一个管身份凭证,组合起来为Web应用打造可靠防护。2、同时增加文字触发提醒,设置提醒语,有相同字段的数据,会触发弹框提醒,例如设置状态提醒:特急/加急/一般 增加自定义提醒语(如:库存不足,请补货)对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。AI续写、AI优化、AI校对、AI翻译:新增AI接口,编辑器接入AI,可以实现AI续写、AI优化、AI校对、AI翻译,可以帮你实现自动化,ai帮你完成文档。

bishe288的博客 46

基于Android的图片分享系统

1.登录注册界面包括登录注册功能,以及修改密码功能。其中点击用户名展示该用户的个人空间。4.主界面发布动态功能。点击发布动态按钮跳转到发布界面。发布界面用户可选用查找相册或者拍照来获取照片,之后配上文字和定位信息,最终发布到主界面,并添加到自己的个人空间。6.个人空间界面,用于展示每个用户曾经发过的动态。每个用户登录之后的个人空间都是独立的。

u014388322的专栏 927

微信小程序文字转语音实战:OCR+TTS实现无障碍阅读

文本转语音(TTS)技术通过语音合成引擎将数字文本转换为自然流畅的语音输出,其核心原理涉及自然语言处理与声学模型分析。这项技术不仅提升了信息获取的便捷性,更在无障碍服务、教育学习、智能助手等领域展现出重要价值。在实际工程应用中,开发者常需结合文字识别(OCR)技术处理图像文本,并解决客户端集成、网络延迟等实际问题。本文聚焦微信小程序生态,深入解析如何利用官方插件与后端服务,构建从图片识别到语音播放的完整解决方案,涵盖WechatSI插件集成、PaddleOCR部署、音频播放管理等关键技术环节,为开发具备语音

weixin_33871366的博客 382

android开发中微信公众号功能,微信公众号分享与收藏开发文档(Android应用)

微信分享及收藏是指第三方App通过接入该功能,让用户可以从App分享文字、图片、音乐、视频、网页至微信好友会话、朋友圈或添加到微信收藏。微信分享及收藏功能已向全体开发者开放,开发者在微信开放平台帐号下申请App并通过审核后,即可获得微信分享及收藏权限。微信分享及收藏目前支持文字、图片、音乐、视频、网页共五种类型。开发者在App中在集成微信SDK后,可调用接口实现,以下依次是文字分享、图片分享、音乐...

weixin_33389183的博客 634
上一篇: 最简单自定义dialog去除dialog黑边方法
下一篇: Android Edittext输入限制一位小数2位小数(n位)小数简单通用实现
SingleView
博客等级 码龄10年 2粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值