IWXAPI的使用,发布分享和支付
今天看代码,看到以前项目的微信支付功能,想做一下记录
首先是在application类里面定义
-
public static IWXAPI MSGAPI;
-
public static final String WX_APPID="xxxxxxxxxxxxxxxxxxx";//你的应用从官方网站申请到的合法appId
将该app注册到微信
-
MSGAPI=WXAPIFactory.createWXAPI(applicationContext,WX_APPID,false);
-
MSGAPI.registerApp(WX_APPID);
首先支付功能
-
if(!ApplicationXpClient.MSGAPI.isWXAppInstalled()){
-
Log.d("weixinPay","未安装微信");
-
return;
-
}
-
if(!ApplicationXpClient.MSGAPI.isWXAppSupportAPI()){
-
Log.d("weixinPay","版本不支持");
-
return;
-
}
-
PayReq request=new PayReq();//weixinPayData是后台返回的类
-
request.appId=ApplicationXpClient.WX_APPID;
-
request.partnerId="1387300802";
-
request.prepayId=weixinPayData.getPrepay_id();
-
request.packageValue="Sign=WXPay";
-
request.nonceStr=weixinPayData.getNonce_str();
-
request.timeStamp=weixinPayData.getDateTime();
-
request.sign=weixinPayData.getSign();
-
ApplicationXpClient.MSGAPI.sendReq(request);
然后是分享功能
-
int WX_THUMB_SIZE=120;
-
if(!ApplicationXpClient.MSGAPI.isWXAppInstalled()){
-
Log.d("weixinPay","未安装微信");
-
return;
-
}
-
if(!ApplicationXpClient.MSGAPI.isWXAppSupportAPI()){
-
Log.d("weixinPay","版本不支持");
-
return;
-
}
-
//初始化一个WXWebpageObject对象,填写url
-
WXWebpageObject webpage=new WXWebpageObject();
-
-
webpage.webpageUrl="www.pooai.com";//这里用小普马桶官网做推广
-
-
//用WXWebpageObject对象初始化一个WXMediaMessage对象,填写标题、描述
-
WXMediaMessage msg=new WXMediaMessage(webpage);
-
msg.title="小普未来科技";
-
msg.description="一款来自未来的云健康智能马桶";
-
Bitmap thumb=BitmapFactory.decodeResource(getResources(),R.drawable.xiaopu);
-
Bitmap thumbBmp=Bitmap.createScaledBitmap(thumb,WX_THUMB_SIZE,WX_THUMB_SIZE,true);
-
thumb.recycle();
-
msg.thumbData=bmpToByteArray(thumbBmp,true);
-
-
//构造一个Req
-
SendMessageToWX.Req req=new SendMessageToWX.Req();
-
req.transaction=String.valueOf(System.currentTimeMillis());
-
req.message=msg;
-
req.scene=SendMessageToWX.Req.WXSceneSession;//分享给朋友
-
//req.scene = SendMessageToWX.Req.WXSceneTimeline;//分享到朋友圈
-
ApplicationXpClient.MSGAPI.sendReq(req);
-
-
public static byte[]bmpToByteArray(final Bitmap bmp,final boolean needRecycle){
-
ByteArrayOutputStream output=new ByteArrayOutputStream();
-
bmp.compress(CompressFormat.PNG,100,output);
-
if(needRecycle){
-
bmp.recycle();
-
}
-
byte[]result=output.toByteArray();
-
try{
-
output.close();
-
}catch(Exception e){
-
e.printStackTrace();
-
}
-
return result;
-
}
IWXAPI的使用,发布分享和支付的更多相关文章
- Android调用微信登陆、分享、支付
前言:用了微信sdk各种痛苦,感觉比qq sdk调用麻烦多了,回调过于麻烦,还必须要在指定包名下的actvity进行回调,所以我在这里写一篇博客,有这个需求的朋友可以借鉴一下,以后自己别的项目有用到也 ...
- 【原创分享·微信支付】 C# MVC 微信支付教程系列之扫码支付
微信支付教程系列之扫码支付 今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添 ...
- 【原创分享·微信支付】 C# MVC 微信支付教程系列之公众号支付
微信支付教程系列之公众号支付 今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后再通 ...
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
- Android微信登录、分享、支付
转载需要著名出处: http://blog.csdn.net/lowprofile_coding/article/details/78004224 之前写过微信登录分享支付第一版: http://bl ...
- 【分享·微信支付】 C# MVC 微信支付教程系列之公众号支付
微信支付教程系列之公众号支付 今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后 ...
- 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付
前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...
- 【原创分享·微信支付】C# MVC 微信支付教程系列之现金红包
微信支付教程系列之现金红包 最近最弄这个微信支付的功能,然后扫码.公众号支付,这些都做了,闲着无聊,就看了看微信支付的其他功能,发现还有一个叫“现金红包”的玩意,想 ...
- 解决Axure发布分享预览的3个方法
公司的同事制作的一个产品原型,要发给我,我当时正在客户这里,电脑上并没有Axure,客户又催得急,感到一阵无奈.这次回来之后,经过一番摸索,发现还是有办法的.这里给大家分享一下Axure发布分享预览的 ...
随机推荐
- 微信支付v2开发(7) 告警通知
本文介绍微信支付中如何获得告警通知. 一.告警通知 为了及时通知商户异常,提高商户在微信平台的服务质量.微信后台会向商户推送告警通知,包括发货延迟.调用失败.通知失败等情况,通知的地址是商户在申请支付 ...
- Linux常用命令及解析
基本日常命令 init 3 (进入命令行页面) steup (设置网络) exit (退出用户) pwd(查看当前所在目录) date(查看当前系统时间) 举例:(date +%Y-%m-%d)以年月 ...
- 安装GDB和GDBSERVER
安装GDB和GDBSERVER 转自http://www.360doc.com/content/10/0407/17/155970_21971613.shtml 把GDBSERVER装入文件系统 转自 ...
- fatal error C1859的有效解决办法
作者:朱金灿来源:http://blog.csdn.net/clever101 在服务器(操作系统为Widows Server2008)上使用VS C++2008编译工程,总是出现这样一个错误:fat ...
- [疯狂Java]JDBC:事务管理、中间点、批量更新
1. 数据库事务的概念: 1) 事务的目的就是为了保证数据库中数据的完整性. 2) 设想一个银行转账的过程,假设分两步,第一步是A的账户-1000,第二步是B的账户+1000.这两个动 ...
- [Javascript] Validate Data with the Every() Method
The every method returns true or false based on whether or not every item in the array passes the co ...
- Spring Cloud底层原理
目录 一.业务场景介绍 二.Spring Cloud核心组件:Eureka 三.Spring Cloud核心组件:Feign 四.Spring Cloud核心组件:Ribbon 五.Spring Cl ...
- VS2008的C++TR1库已经支持正则表达式
作者:朱金灿 来源:http://blog.csdn.net/clever101 发现VS2008的C++ TR1库已经支持正则表达式了(注意装了VS 2008sp1采用TR1库的).下面简单做个测试 ...
- android 发送http请求
好久没写博客了,由于公司要做android,笔者也是第一次接触. 这是在项目中遇到一个比較麻烦的问题.记录下来备忘(本人刚接触.有不正确的地方请不吝赐教). 发送请求的代码: package com. ...
- Android JNI编程(一)——JNI概念以及C语言Dev-C++开发环境搭建、编写HelloWorld
版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 一:JNI是什么呢? JNI:JNI是JavaNative Interfac ...