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发布分享预览的 ...
随机推荐
- Linux常用命令及解析
基本日常命令 init 3 (进入命令行页面) steup (设置网络) exit (退出用户) pwd(查看当前所在目录) date(查看当前系统时间) 举例:(date +%Y-%m-%d)以年月 ...
- Loadrunner--web_find和web_reg_find的用法和区别
一.web_find()函数 该函数的作用是“在页面中查找相应的内容”,常用参数及含义如下: web_find("web_find", //定义该查找函数的名称 "Rig ...
- 原生js大总结二
011.if语句的优化 1.把次数多的条件和执行结果放到最前面 2.减少第一次无用的判断,可以用嵌套判断 3.判断语句禁止出现三次嵌套 012.谈谈你对switch的理解 1. ...
- 【Codeforces Round #299 (Div. 2) D】Tavas and Malekas
[链接] 我是链接,点我呀:) [题意] 给你n个位置,然后让你从某些位置开始的|p|个位置,填上p这个字符串. 问你填的时候是否会发生冲突->输出0 否则输出最终n个位置组成的可能的字符串的总 ...
- VMware Ubuntu安装具体过程
不是每个程序猿都必须玩过linux,仅仅是博主认为如今的非常多server都是linux系统的,而自己属于那种前端也搞.后台也搞,对框架搭建也感兴趣,可是非常多生产上的框架和工具都是安装在server ...
- 简介及环境搭建跑通Hello
简介及环境搭建跑通Hello Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.是为了解决企业应用程序开 ...
- 【z12】&&【b092】hankson的趣味问题
描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现 在,刚刚放学回家的 Hankson 正在思考一个有趣的问题. 今天在课堂上,老师讲解了 ...
- js进阶 12-5 jquery中表单事件如何使用
js进阶 12-5 jquery中表单事件如何使用 一.总结 一句话总结:表单事件如何使用:可元素添加事件监听,然后监听元素,和javase里面一样. 1.表单获取焦点和失去焦点事件有哪两组? 注意是 ...
- sublime text2 基本配置及结合Python 环境
参考: http://www.cnblogs.com/figure9/p/sublime-text-complete-guide.html http://www.zhihu.com/question/ ...
- css3-10 如何控制元素的显示和隐藏(display和visibility的区别是什么)
css3-10 如何控制元素的显示和隐藏(display和visibility的区别是什么) 一.总结 一句话总结:使用的时候直接在元素的样式中设置display和visibility属性即可.推荐使 ...