rainbow-android-app

分享到微信

微信是目前国内最大的移动社交平台,越来越多的应用提供分享到微信的功能,云助理也不例外。

微信提供的开发者SDK就包含了分享功能。

  • 申请AppKey

    • 获取应用的报名、签名(可以用微信提供的签名生成工具获取)。
    • 微信开放平台注册登录,创建移动应用,按要求提交审核即可。
    • 审核通过后即可获取到AppID。
  • SDK使用

    参考微信示例代码 即可,这里就不进行详细解释了。

    小建议:分享图文消息时,微信提示框显示的图片背景为黑色,因此要分享png图片时要注意透明部分会显示成黑色,需要对原图片加以处理。

  • 获取返回结果

    为了获取分享的返回结果如“分享成功”、“分享失败”、“用户撤销”、“认证失败”,需要添加文件: "包名"+".wxapi.WXEntryActivity",实现方法:

      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          api = WXAPIFactory.createWXAPI(this, Constants.WXAPPID_PROPERTY_KEY, false);
          api.handleIntent(getIntent(), this);
      }
    
      @Override
      public void onResp(BaseResp baseResp) {
          Intent broadcast = new Intent();
          broadcast.setAction(Constants.WXAPP_BROADCAST_ACTION);
          broadcast.putExtra(Constants.WXAPP_ACTIVITY_RESULT_CODE, baseResp.errCode);
          sendBroadcast(broadcast);
    
          this.finish();
      }
    

    baseResp.errCode即为返回码:

      public interface ErrCode {
          int ERR_OK = 0;
          int ERR_COMM = -1;
          int ERR_USER_CANCEL = -2;
          int ERR_SENT_FAILED = -3;
          int ERR_AUTH_DENIED = -4;
          int ERR_UNSUPPORT = -5;
      }
    

    按对应code进行解析即可,提示用户分享结果。