Android 调用微信Api

最近一项目需要添加微信的分享:朋友、朋友圈。

原本以为挺简单的一事,无非就是去官网下个Demo,集成到自己项目中,可以分分钟搞定,结果这帮写文档的坑爹玩意,愣是浪费了我N多时间,好了吐槽完毕,接下来分享下此次调用微信中遇到的问题和解决方法:

 

首先第一个问题:死活调不出微信客户端

原因:是没有按照所谓的官方说明来操作,

解决方法:1) 对要加微信的项目进行打包签名,此时就有了自己的 keystore。

2) 将打包好的apk装到机器上,再装官方的获取签名工具:gen_signature.apk,并用此工具生成应用程序签名。

3)用获取的签名去申请当前项目对应的微信App_ID ,此时才能保证在项目中调用成功。

 

再一个问题:分享图片加文字

这部分就直接上代码了:

1)分享单纯的文字内容:

IWXAPI api = WXAPIFactory.createWXAPI(this, ShareConstant.APP_ID);
   
   if (api.openWXApp()) {//判断是否安装微信客户端
   String text = ShareConstant.setContent(
     response.getCategoryNamePinYin(), response.getAuctionId());

   // 初始化一个WXTextObject对象
   WXTextObject textObj = new WXTextObject();
   textObj.text = text;

   // 用WXTextObject对象初始化一个WXMediaMessage对象
   WXMediaMessage msg = new WXMediaMessage();
   msg.mediaObject = textObj;
   // 发送文本类型的消息时,title字段不起作用
   // msg.title = "Will be ignored";
   msg.description = text;

   // 构造一个Req
   SendMessageToWX.Req req = new SendMessageToWX.Req();
   req.transaction = buildTransaction("text"); //
   // transaction字段用于唯一标识一个请求
   req.message = msg;
   req.scene = SendMessageToWX.Req.WXSceneSession;// 分享
   // 调用api接口发送数据到微信
   api.sendReq(req);
    } else {
    Toast.makeText(Detail.this, "未安装微信", Toast.LENGTH_SHORT).show();
    }

相关推荐