IWXAPI的使用,发布分享和支付

来源:互联网 发布:网络销售平台有哪些 编辑:程序博客网 时间:2024/04/28 23:00

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

        首先是在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;        }
原创粉丝点击