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

首先是在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. 高可用架构篇--MyCat在MySQL主从复制基础上实现读写分离

    实战操作可参考:http://www.roncoo.com/course/view/3117ffd4c74b4a51a998f9276740dcfb 一.环境 操作系统:CentOS-6.6-x86_ ...

  2. nyoj999 师傅又被妖怪抓走了 (预处理+bfs+状态压缩)

    题目999 题目信息 执行结果 本题排行 讨论区 师傅又被妖怪抓走了 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描写叙述 话说唐僧复得了孙行者,师徒们一心同体,共诣西方.自宝 ...

  3. HTML、XHTML、css速记

    一.HTML 下面内容记录经常使用的html元素.可另存为html文件以查看效果: <!doctype html> <html lang="zh-cn"> ...

  4. EXT gridPanel 添加图片

    var workAreaGrid = new Ext.grid.GridPanel({ region: 'west', title: '工作面预警结果', store: wkSto, width: , ...

  5. 网站图标——favicon

    首先推荐一个网站图标在线制作工具favicon: 插入图标只需在head中间加入以下代码: <link rel="icon" href="img/favicon.i ...

  6. 手机用appnium,web自动化用eclips+webdriver2

    手机用appnium,web自动化用eclips+webdriver2 吴建清 pycharm 1.安装环境2.pycharm类似eclipse,写脚本,运行脚本3.uiautomatorviewer ...

  7. [D3] Create DOM Elements with D3 v4

    Change is good, but creating from scratch is even better. This lesson shows you how to create DOM el ...

  8. windows下, nginx 提示错误 "No input file specified"

    https://blog.csdn.net/m_nanle_xiaobudiu/article/details/80386035

  9. [array] leetCode-26. Remove Duplicates from Sorted Array - Easy

    26. Remove Duplicates from Sorted Array - Easy descrition Given a sorted array, remove the duplicate ...

  10. [Tools] Fix Only Committed Files with Prettier and lint-staged

    In this lesson we'll use prettier and lint-staged to run prettier only on files that have been chang ...