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();
		}
	}

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pytest fixtures_pytest allure

    pytest fixtures_pytest allurefixture的优势Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进:命名方式灵活,不局限于setup和teardown这几个命名conf

    2022年7月30日
  • 深入理解JVM—JVM垃圾回收机制[通俗易懂]

    深入理解JVM—JVM垃圾回收机制[通俗易懂]垃圾回收是指不定时去堆内存中清理不可达对象。不可达的对象并不会马上就会直接回收,垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,程序员唯一能做的就是通过调用System.gc方法来建议执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。这也是垃圾收集器的最主要的缺点。当然相对于它给程序员带来的巨大方便性而言,这个缺点是瑕不掩瑜的。先谈一下新生代与老年代根据垃圾回…

    2022年5月20日
  • 光流法简单介绍「建议收藏」

    光流法简单介绍「建议收藏」光流的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。其计算方法可以分为三类:(1)基于区域或者基于特征的匹配方法;

    2022年7月23日
  • 认识设备树(二)——设备树文件的格式

    认识设备树(二)——设备树文件的格式目录1DTS文件的格式1.1DTS文件的总体布局1.2memoryreservations的格式1.3属性的格式1.3.1有关属性名1.3.2有关属性值1.4节点的格式1.4.1推荐的节点名1.4.2节点的路径名1.5一些特定的属性1.5.1#address-cells1.5.2#size-cells1.5.3compatible1.5.4model1.5.5phandle1.5.6interrupt-controller1.5.7interrupt-parent1.5.

    2022年6月20日
  • 硬件设计——外围电路(电源电路)[通俗易懂]

    硬件设计——外围电路(电源电路)[通俗易懂]引言 当我们设计一个完整的电路而言,我们除了要知道我们要设计的主芯片电路,如FPGA,DSP,还要知道一些外围电路,如电源电路,复位电路、晶振电路等等。这篇文章我们先来讲解一下对于如何设计一个电源电路。 正文 首先我们查询主芯片的datesheet,根据datesheet,可知主芯片采用多大的电压才能正常工作,然后我们根据其设计电源电路。每个电子设备都有一个供给能量的电源电路。电源电路有整流电源、逆变电源和变频器三种。常见的家用电器中多数要用到直流电源。直流电源的最简单的供电方法是用电池。..

    2022年5月6日
  • 记录首次在云服务器部署spring boot项目,并实现域名访问

    记录首次在云服务器部署spring boot项目,并实现域名访问第一次写博客,对初次服务器部署做一个记录,写的有错或者纰漏欢迎指正文章目录前言一、服务器准备二、安装需要的东西1.jdk2.redis3.MySQL部署项目三.域名访问总结在看.

    2022年10月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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