当相关的设置(设置当前用户信息、设置消息体内是否携带用户信息)都没问题时,考虑排查是否是由于自定义消息不当造成的。自定义消息时,会继承 MessageContent ,而 userInfo 就定义在其中,但是自定义消息的 encode 往往会忽略掉它,最终造成发出去的消息里没有 userInfo 。MessageContent 跨进程传输时会通过 Parcelable 方式序列化,如果未实现相关字段的序列化也可能导致字段丢失。
当相关的设置(设置当前用户信息、设置消息体内是否携带用户信息)都没问题时,考虑排查是否是由于自定义消息不当造成的。自定义消息时,会继承 MessageContent ,而 userInfo 就定义在其中,但是自定义消息的 encode 往往会忽略掉它,最终造成发出去的消息里没有 userInfo 。MessageContent 跨进程传输时会通过 Parcelable 方式序列化,如果未实现相关字段的序列化也可能导致字段丢失。