Android 调用微信小程序支付badparam_微信定时发消息

Android 调用微信小程序支付badparam_微信定时发消息最近一项目需要添加微信的分享:朋友、朋友圈。原本以为挺简单的一事,无非就是去官网下个Demo,集成到自己项目中,可以分分钟搞定,结果这帮写文档的坑爹玩意,愣是浪费了我N多时间,好了吐槽完毕,接下来分享下此次调用微信中遇到的问题和解决方法:首先第一个问题:死活调不出微信客户端原因:是没有按照所谓的官方说明来操作,解决方法:1)对要加微信的项目进行打包签名,此时就有了自己的

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

最近一项目需要添加微信的分享:朋友、朋友圈。

原本以为挺简单的一事,无非就是去官网下个Demo,集成到自己项目中,可以分分钟搞定,结果这帮写文档的坑爹玩意,愣是浪费了我N多时间,好了吐槽完毕,接下来分享下此次调用微信中遇到的问题和解决方法:

首先第一个问题:死活调不出微信客户端

原因:是没有按照所谓的官方说明来操作,

解决方法:1) 对要加微信的项目进行打包签名,此时就有了自己的 keystore。

    2) 将打包好的apk装到机器上,再装官方的获取签名工具:gen_signature.apk,并用此工具生成应用程序签名。

    3)用获取的签名去申请当前项目对应的微信App_ID ,此时才能保证在项目中调用成功。

再一个问题:分享图片加文字

这部分就直接上代码了:

1)分享单纯的文字内容:

IWXAPI api = WXAPIFactory.createWXAPI(this, ShareConstant.APP_ID);
			
			if (api.openWXApp()) {//判断是否安装微信客户端
			String text = ShareConstant.setContent(
					response.getCategoryNamePinYin(), response.getAuctionId());

			// 初始化一个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 = SendMessageToWX.Req.WXSceneSession;// 分享
			// 调用api接口发送数据到微信
			api.sendReq(req);
			 } else {
			 Toast.makeText(Detail.this, "未安装微信", Toast.LENGTH_SHORT).show();
			 }

2)分享图片加文字:

/**
	 * 发送图片和文字
	 * 
	 * @param context
	 * @param text
	 * @param bmp
	 * @param type 分享到盆友圈:SendMessageToWX.Req.WXSceneTimeline 分享到盆友:SendMessageToWX.Req.WXSceneSession
	 */
	public void sendReq(Context context, String text, Bitmap bmp, int type) {
		// IWXAPI api = WXAPIFactory.createWXAPI(context, ShareConstant.APP_ID,
		// true);
		if (api.openWXApp()) {
			String url = ShareConstant.setUrl(response.getCategoryNamePinYin(),
					response.getAuctionId());// 分享的好友点击信息会跳转到这个地址去
			WXWebpageObject localWXWebpageObject = new WXWebpageObject();
			localWXWebpageObject.webpageUrl = url;
			WXMediaMessage localWXMediaMessage = new WXMediaMessage(
					localWXWebpageObject);
			
			localWXMediaMessage.description = text;

			// 设置消息的缩略图
			Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, THUMB_SIZE,
					THUMB_SIZE, true);
			bmp.recycle();
			localWXMediaMessage.thumbData = Util.bmpToByteArray(thumbBmp, true);

			// localWXMediaMessage.thumbData = getBitmapBytes(bmp, false);
			SendMessageToWX.Req localReq = new SendMessageToWX.Req();
			localReq.transaction = System.currentTimeMillis() + "";
			localReq.message = localWXMediaMessage;
			// localReq.scene = SendMessageToWX.Req.WXSceneTimeline;// 分享到朋友圈
			// localReq.scene = SendMessageToWX.Req.WXSceneSession;// 分享给好友
			localReq.scene = type;

			api.sendReq(localReq);
		} else {
			Toast.makeText(Detail.this, "未安装微信", Toast.LENGTH_SHORT).show();
		}
	}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188661.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 零基础python从入门到精通(Python从入门到项目实践 吾爱破解)

    文章目录强烈推荐系列教程,建议学起来!!一.pycharm下载安装二.python下载安装三.pycharm上配置python四.配置镜像源让你下载嗖嗖的快4.1pycharm内部配置4.2手动添加镜像源4.3永久配置镜像源五.插件安装(比如汉化?)5.1自动补码神器第一款5.2汉化pycharm5.3其它插件六.美女背景七.自定义脚本开头八、这个前言一定要看九、python入门十、python缩进十一、Python注释1.单行注释2.多行注释十二、Python变量1.变量定义理解2.变量名命名3.分

  • 常用降压电路设计「建议收藏」

    常用降压电路设计「建议收藏」一、5V转3.3V电路设计1.AMS1117-3V3AMS1117-xxx是一颗LDO芯片,这个系列有很多型号,后面的xxx代表输出电压,如果是AMS1117-ADJ表明输出是通过电阻调节的。实物图展示:常见封装:电路图:AMS1117-3.3最大输出可达1A,但是其压差较大,一般在1.1V左右,所以功耗和发热量也会随着电流的增大而急剧增大,对于大电流负载,不推荐使用LDO电路,使用DCDC电路效果更佳。2.ME6211C33ME6211C33是一颗低功耗低压差LDO芯片,其工作

  • 3D游戏建模的入门学习方法及技巧

    3D游戏建模的入门学习方法及技巧选一个你感兴趣的模型利用你感兴趣的任何物品或形象的预制模型。选一个可以激发你想象,让你知道清楚知道自己的模型该是什么样子,该怎么动的模型。你可以根据自己的喜好和需要加强现有模型。预制模型可以让你在开始建模之前,体验模型的检查和操作。从简单模型入手从复杂3D模型入手,你可能会备受打击。选一个简单的结构,然后开始学习。你不仅想要学会3D建模的基本知识,还需要慢慢学习掌握不同的工具、技巧。瓶子一样的圆柱体是一个很好的入门模型。或者你可以用更简单的立方体来熟悉所有工具技巧的用法。复杂模型可能会.

  • 处理js乱码

    处理js乱码1.将time.js编码格式更改外2.在Tomcat设置VM-OPTION选项为-Dfile.encoding=utf-8

  • tree命令详解

    tree命令详解命令:tree命令说明:以树状格式列出目录的内容,查看文件系统的结构命令用法:tree[选项]…[文件]…参数说明:参数参数说明备注-a打印所有文件,包括隐藏文件、目录-C在文件和目录清单上加上色彩,便于区分文件类型-d仅列出目录名称,而非内容-D列出文件或目录更改时间-L目录树的最大显示深度-p打印结构同时打印文件权限-l跟随目录的符号链接,就像它们是目录一样。避免了导致递归循环的链接-f打印每个

  • navicat15激活码-激活码分享

    (navicat15激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号