微信分享

1.我是用的是微信的sdk,所以一定要建一个.wxapi的包,里面有一个WXEntryActivity的类

2.在微信的平台上注册一个应用获得它的appId,切记获得签名的时候一定要保持和项目里的签名一致,否则不会弹出分享图片和文字的对话框

3.在WXEntryActivity类里

   让类实现这个IWXAPIEventHandler接口

   private static final String appId = "微信平台上应用的appId"; // 官网获得的appId
   private IWXAPI api;// 第三方app和微信通讯的openapi接口

    onCreate()方法里

    api = WXAPIFactory.createWXAPI(this, appId, false);// 获得IWXAPI实例
    api.registerApp(appId);//注册
    api.handleIntent(getIntent(), this);

      按钮的监听事件下

     if (!api.isWXAppInstalled()) {
    Toast.makeText(WXEntryActivity.this, "您还没有安装微信,暂不支持此功能!", Toast.LENGTH_SHORT).show();
   } else if (!api.isWXAppSupportAPI()) {
    Toast.makeText(WXEntryActivity.this, "你安装的微信版本不支持当前API", Toast.LENGTH_SHORT).show();
   } else {
    api.openWXApp();  //打开微信
    sendReq();
   }

    

// 发送消息
 private void sendReq() {

  Bitmap bmp = BitmapFactory.decodeResource(WXEntryActivity.this.getResources(), R.drawable.test);

  WXWebpageObject webPageObj = new WXWebpageObject();
  webPageObj.webpageUrl = 回调授权页";

  WXMediaMessage msg = new WXMediaMessage();
  msg.title = "分享的文字";
  msg.mediaObject = webPageObj;

  Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, THUMB_SIZE, THUMB_SIZE, true);
  bmp.recycle();
  msg.thumbData = Util.bmpToByteArray(thumbBmp, true);
  msg.description = "ddddddddd"; //分享的文字
  // 构造一个Req

  SendMessageToWX.Req req = new SendMessageToWX.Req();

  req.message = msg;
  req.transaction = buildTransaction("text");
  ;// 唯一字段,标识一个请求

  api.sendReq(req);

 }

 private String buildTransaction(final String type) {
  return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();
 }

 // 向第三方发送请求,请求数据后返回到app页面
 @Override
 public void onReq(BaseReq arg0) {

 }

 // 向第三方发送请求,请求数据后返回到微信页面
 @Override
 public void onResp(BaseResp resp) {
  int result = 0;
  switch (resp.errCode) {
  case BaseResp.ErrCode.ERR_OK:
   result = R.string.errcode_success;
   break;
  case BaseResp.ErrCode.ERR_USER_CANCEL:
   result = R.string.errcode_cancel;
   break;
  case BaseResp.ErrCode.ERR_AUTH_DENIED:
   result = R.string.errcode_deny;
   break;
  default:
   result = R.string.errcode_unknown;
   break;
  }
 }

这样就可以实现微信的图片和文字的分享了

但是一定要记住只有微信平台上的应用审核通过了才能使用分享功能,否则只能启动微信,不会弹出分享对话框

你可能感兴趣的:(微信分享)