
Messge消息类型详解聊天消息有很多类型有些对我们的利用价值不大所以选择性过滤。messge中的各个字段解释在上一篇中已经罗列了不清楚的朋友可以再点进去查看。type status 释义1 1 本人主动发给别人的文本消息1 3 本人接收到的文本消息3 2 本人主动发给别人的图片消息3 3 本人接收到的图片消息34 2 本人主动发给别人的语音消息34 4 本人接收到的语音消息43 1 视频消息并且还未查看43 2 视频消息并且已查看47 表情消息这个表情不是微信自带的emoj表情微信emoji表情实际上使用的是文本消息49 分享类消息比如文章分享、好友名片的分享等436207665 2 红包消息并且未领取436207665 3 红包消息并且已领取436207665 4 红包消息并且已过期419430449 2 转账消息并且未接收419430449 3 转账消息并且已接收419430449 4 转账消息并且已退还1090519089 文件类消息content中会包含文件名10000 微信聊天过程中的系统类消息比如好友通过的消息、聊天撤回的消息等注上述的status仍要与isSend挂钩以避免在本人发送和接收上判断错误图片视频等附件获取路径上面的type中图片、语音、视频等牵扯到附件的可以拿该消息的msgId去 WxFileIndex.db数据库中的 WxFileIndex2 表中查相应附件的路径地址。除此以外还可以通过以下方式获取1.图片路径微信为了用户体验和服务器压力图片分为缩略图和原图一般互联网产品都采取这种方式。这两类图片的存储路径也是不同的。TO缩略图图片消息中的imgpath肯定是有值的一般的格式是“THUMBNAIL_DIRPATH://th_XXXX....”其中th_XXX就是图片名称在/image2的文件夹下就可以找到。TO原图原图需要进行字段拼接才能找到图片名称通过聊天用户的username该消息的talker值该消息的msgSvrid“_backup”即为图片名称。其中需要注意的是如果是本人发送的消息则username为是本人的talker是对方的username如果是本人接收的消息则username是发送人talker是本人的并且如果是群聊username还需到content里面去截图实际发送用户的username。2.视频路径该消息的imgPath存储着视频名称直接到video 文件夹查找即可。其中视频后缀为.mp4视频还有个封面图是 .jpg格式。3.语音路径仍然是该消息的imgPath不过语音文件是通过MD5进行了加密加密后的就是文件名直接去voice2文件夹查找。由于微信对语音有保护机制使用了SILK v3 编码所以需要使用三方工具进行解码。4.文件路径微信聊天中的文件有的不会保存下来以至于我们在看该消息的imgpath时虽然有文件名但是在相应的文件夹中获取不到。而能找到的前提是该文件必须被你保存下来而保存下来的路径就存放在 /sdcard/Android/data/com.tencent.mm/MicroMsg/Download 文件夹下。我们通过该消息 msgId去 另外一个DB“WxFileIndex.db”中的 WxFileIndex2 表中查找到相应的文件路径有的是在Download 文件夹中如果是你发给别人的则会有具体的文件路径。————————————————版权声明本文为CSDN博主「脸谱君」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/killghosts/article/details/136540685