さまざまなリソースから変更されたプレゼンスを表示できる Packetlistener があります。プレゼンスが他のリソースから変更されるたびに、受信したプレゼンス パケットを 1 回だけ再送信する必要があります。ただし、継続的にパケットを送信し続けます。
connection.addPacketListener(new PacketListener(){
@Override
public void processPacket(Packet presencePkt) {
pres= ((Presence) presencePkt);
switch(pres.getMode()){
case available:
connection.sendPacket(pres);
break;
case dnd:
connection.sendPacket(pres);
break;
default :
break;
}
}
}, new PacketTypeFilter(Presence.class));