收藏
回答

Android 客户端分享本地图片到微信,无法拉起客户端

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug Android Android 10 荣耀 HONOR V30,型号 OXF-AN00 8.0.7

已编辑:原标题中的“闪一下”实际上是app自身的dialog引起,避免误导去掉

所有信息都在了,麻烦尽快反馈,谢谢

PS:框架类型是 Android 客户端原生,非小程序

  1. 分享本地bitmap到微信,sendReq 返回 true,却没有打开微信会话窗口
  2. 同样的代码、调用栈,仅构建WXImageObject的bitmap资源不一样,就会导致失败(但两次sdk输出的日志完全一样),看起来sdk内部未发生异常,见日志部分

附:两次分享唯一差异

成功时,bitmap byte count = 9836640
失败时,bitmap byte count = 10368000
均未超出上限 26214400

附:SDK 版本

com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.0

附:SDK 日志

07-15 17:49:51.375  1886  1886 D MicroMsg.SDK.WXMsgImplComm: pass
07-15 17:49:51.375  1886  1886 I MicroMsg.SDK.WXApiImplV10: sendReq, req type = 2
07-15 17:49:51.384  1886  1886 I MicroMsg.SDK.WXApiImplV10: getTokenFromWX token is OpenSdkToken@1626342591382
07-15 17:49:51.384  1886  1886 D MicroMsg.SDK.MMessageAct: send, targetPkgName = com.tencent.mm, targetClassName = com.tencent.mm.plugin.base.stub.WXEntryActivity, launchMode = 2
07-15 17:49:51.385  1886  1886 I MicroMsg.SDK.MMessageAct: sendUsingPendingIntent
07-15 17:49:51.409  1886  1886 D MicroMsg.SDK.MMessageAct: send mm message, intent=Intent { flg=0x18000000 cmp=com.tencent.mm/.plugin.base.stub.WXEntryActivity (has extras) }


附:代码

//伪代码,脱敏
byte[] thumbData = bmpToByteArray(Bitmap.createScaledBitmap(bmp,
		ShareConstant.THUMB_SIZE,
		ShareConstant.THUMB_SIZE, true), true);
WXImageObject imageObject = new WXImageObject(bmp);
WXMediaMessage message = new WXMediaMessage();
message.mediaObject = imageObject;
// 缩略图 32k 限制
if (thumbData.length < IShareService.ShareConstant.THUMB_MAX_SIZE) {
	message.thumbData = thumbData;
}else{
	return RESULT_BITMAP_ERROR;
}
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.message = message;
//...
boolean success= wxApi.sendReq(req)
最后一次编辑于  2021-07-16
回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2021-07-15

    你好,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点

    2021-07-15
    有用 1
    回复 8
    • 伯特
      伯特
      2021-07-15
      日志已上传,为方便排查卸载重装的
      微信号:Only_Iam_Steve
      复现操作时间:7月15号 22:01 左右
      2021-07-15
      1
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      2021-07-16回复伯特
      请先按照https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/Android.html [4] 接收微信的请求及返回值自查下
      2021-07-16
      回复
    • 伯特
      伯特
      2021-07-16
      debug 看了下,问题发生时,没有触发WXEntryActivity的onCreate和onReq;


      强调一下:
      1. 相关代码已经在线上跑了很久了,非新接入;
      2. 如问题描述提到的,同样的代码、代用栈,不同大小的图片一个成功一个失败,实际上我理解都没有触发上限。
      3. 接2,失败场景下,如果适当压缩图降低byte count则可以分享成功。


      以上,麻烦看下。
      2021-07-16
      回复
    • 伯特
      伯特
      2021-07-19回复社区技术运营专员-Jahozheng
      你好,请问有进展吗?
      2021-07-19
      回复
    • 伯特
      伯特
      2021-07-20回复社区技术运营专员-Jahozheng
      你好,麻烦确认下问题
      2021-07-20
      回复
    查看更多(3)
  • 2021-11-09

    同样遇到了这个问题,两次分享日志一模一样,没有报错。

    分享成功的图片200k大小,分享失败的图片500k大小(无法唤起微信客户端)。

    我真的服了。

    2021-11-09
    有用
    回复
  • Gavin
    Gavin
    2021-10-29

    楼主解决了吗 https://developers.weixin.qq.com/community/develop/doc/000e22bb4d88602571fc5795b51c00

    我遇到的是这个问题 查询之后发现是bundle有1m的大小限制 可能是这个限制导致1m以上的图片都无法分享

    2021-10-29
    有用
    回复 5
    • 2021-11-09
      楼主9M的图片都分享成功了,估计不是这个问题。我连500k的都分享不出去
      2021-11-09
      回复
    • Gavin
      Gavin
      2021-11-19回复
      我也是800k都不行 新浪微博和微信都有这个问题不知道怎么解决
      2021-11-19
      回复
    • cd
      cd
      2022-02-28回复Gavin
      解决了吗兄弟
      2022-02-28
      回复
    • cd
      cd
      2022-02-28回复
      解决了吗
      2022-02-28
      回复
    • imp🍦
      imp🍦
      2022-03-25回复cd
      解决了么?
      2022-03-25
      回复
登录 后发表内容