今天看代码,看到以前项目的微信支付功能,想做一下记录

首先是在application类里面定义


  1. public static IWXAPI MSGAPI;
  2. public static final String WX_APPID="xxxxxxxxxxxxxxxxxxx";//你的应用从官方网站申请到的合法appId

将该app注册到微信


  1. MSGAPI=WXAPIFactory.createWXAPI(applicationContext,WX_APPID,false);
  2. MSGAPI.registerApp(WX_APPID);

首先支付功能


  1. if(!ApplicationXpClient.MSGAPI.isWXAppInstalled()){
  2. Log.d("weixinPay","未安装微信");
  3. return;
  4. }
  5. if(!ApplicationXpClient.MSGAPI.isWXAppSupportAPI()){
  6. Log.d("weixinPay","版本不支持");
  7. return;
  8. }
  9. PayReq request=new PayReq();//weixinPayData是后台返回的类
  10. request.appId=ApplicationXpClient.WX_APPID;
  11. request.partnerId="1387300802";
  12. request.prepayId=weixinPayData.getPrepay_id();
  13. request.packageValue="Sign=WXPay";
  14. request.nonceStr=weixinPayData.getNonce_str();
  15. request.timeStamp=weixinPayData.getDateTime();
  16. request.sign=weixinPayData.getSign();
  17. ApplicationXpClient.MSGAPI.sendReq(request);

然后是分享功能


  1. int WX_THUMB_SIZE=120;
  2. if(!ApplicationXpClient.MSGAPI.isWXAppInstalled()){
  3. Log.d("weixinPay","未安装微信");
  4. return;
  5. }
  6. if(!ApplicationXpClient.MSGAPI.isWXAppSupportAPI()){
  7. Log.d("weixinPay","版本不支持");
  8. return;
  9. }
  10. //初始化一个WXWebpageObject对象,填写url
  11. WXWebpageObject webpage=new WXWebpageObject();
  12. webpage.webpageUrl="www.pooai.com";//这里用小普马桶官网做推广
  13. //用WXWebpageObject对象初始化一个WXMediaMessage对象,填写标题、描述
  14. WXMediaMessage msg=new WXMediaMessage(webpage);
  15. msg.title="小普未来科技";
  16. msg.description="一款来自未来的云健康智能马桶";
  17. Bitmap thumb=BitmapFactory.decodeResource(getResources(),R.drawable.xiaopu);
  18. Bitmap thumbBmp=Bitmap.createScaledBitmap(thumb,WX_THUMB_SIZE,WX_THUMB_SIZE,true);
  19. thumb.recycle();
  20. msg.thumbData=bmpToByteArray(thumbBmp,true);
  21. //构造一个Req
  22. SendMessageToWX.Req req=new SendMessageToWX.Req();
  23. req.transaction=String.valueOf(System.currentTimeMillis());
  24. req.message=msg;
  25. req.scene=SendMessageToWX.Req.WXSceneSession;//分享给朋友
  26. //req.scene = SendMessageToWX.Req.WXSceneTimeline;//分享到朋友圈
  27. ApplicationXpClient.MSGAPI.sendReq(req);
  28. public static byte[]bmpToByteArray(final Bitmap bmp,final boolean needRecycle){
  29. ByteArrayOutputStream output=new ByteArrayOutputStream();
  30. bmp.compress(CompressFormat.PNG,100,output);
  31. if(needRecycle){
  32. bmp.recycle();
  33. }
  34. byte[]result=output.toByteArray();
  35. try{
  36. output.close();
  37. }catch(Exception e){
  38. e.printStackTrace();
  39. }
  40. return result;
  41. }

IWXAPI的使用,发布分享和支付的更多相关文章

  1. Android调用微信登陆、分享、支付

    前言:用了微信sdk各种痛苦,感觉比qq sdk调用麻烦多了,回调过于麻烦,还必须要在指定包名下的actvity进行回调,所以我在这里写一篇博客,有这个需求的朋友可以借鉴一下,以后自己别的项目有用到也 ...

  2. 【原创分享·微信支付】 C# MVC 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付                  今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添 ...

  3. 【原创分享·微信支付】 C# MVC 微信支付教程系列之公众号支付

    微信支付教程系列之公众号支付         今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后再通 ...

  4. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  5. Android微信登录、分享、支付

    转载需要著名出处: http://blog.csdn.net/lowprofile_coding/article/details/78004224 之前写过微信登录分享支付第一版: http://bl ...

  6. 【分享·微信支付】 C# MVC 微信支付教程系列之公众号支付

    微信支付教程系列之公众号支付           今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后 ...

  7. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  8. 【原创分享·微信支付】C# MVC 微信支付教程系列之现金红包

            微信支付教程系列之现金红包           最近最弄这个微信支付的功能,然后扫码.公众号支付,这些都做了,闲着无聊,就看了看微信支付的其他功能,发现还有一个叫“现金红包”的玩意,想 ...

  9. 解决Axure发布分享预览的3个方法

    公司的同事制作的一个产品原型,要发给我,我当时正在客户这里,电脑上并没有Axure,客户又催得急,感到一阵无奈.这次回来之后,经过一番摸索,发现还是有办法的.这里给大家分享一下Axure发布分享预览的 ...

随机推荐

  1. 【Codeforces Round #445 (Div. 2) B】Vlad and Cafes

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 傻逼模拟 [代码] #include <bits/stdc++.h> using namespace std; cons ...

  2. Java ThreadLocal Example(java中的ThreadLocal例子)

    Java ThreadLocal is used to create thread local variables. We know that all threads of an Object sha ...

  3. ElasticSearch 2.4

    ES是一个基于Lucene的分布式全文搜索服务器,和SQL Server的全文索引(Fulltext Index)有点类似,都是基于分词和分段的全文搜索引擎,具有分词,同义词,词干查询的功能,但是ES ...

  4. linux终端下一些“风骚”的按键操作及Linux终端命令

    linux终端下一些"风骚"的按键操作 <backspace>  删除 <ctrl-l>     清空屏幕, 相当于clear tab            ...

  5. 126邮件POP3,SMTP服务器与端口设置

  6. 将App程序发布到苹果App Store

    发布iOS应用程序到App Store - 前期工作 要发布iOS应用程序到App Store首先需要一个iOS developer帐号,账号是收费的,$99美元/年.即便是免费应用也需要一个开发者账 ...

  7. Android5.0(Lollipop) BLE蓝牙4.0+浅析code(二)

    作者:Bgwan链接:https://zhuanlan.zhihu.com/p/23347612来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. Android5.0(L ...

  8. POJ 3100 Root of the Problem || 1004 Financial Management 洪水!!!

    水两发去建模,晚饭吃跟没吃似的,吃完没感觉啊. ---------------------------分割线"水过....."--------------------------- ...

  9. 解析ISO8583报文实例

    http://www.cnblogs.com/1971ruru/archive/2012/12/10/2811549.html 本篇文章参考了中国银联POS终端规范,所以如有不明白的可以去我的资源里面 ...

  10. 在此页上的 ActiveX 控件和本页上的其它部份的交互可能不安全

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息http://xqy266.blogbus.com/logs/66258230.html 在EOS6的项目中,如果采用VC++开发的Active ...