請幫忙,我被這個問題困住了。從XMPP vCard中未解析圖像/二進制數據
基本上我得到一個基於AVATAR的VCARD,我可以看到,在調試模式下,但ASMACK沒有正確解析圖像。它只是放下包含圖像值的標籤。
logcat的顯示接收的XML:
DEBUG/SMACK(1336): <NICKNAME>TC</NICKNAME>
DEBUG/SMACK(1336): <PHOTO><TYPE>im
DEBUG/SMACK(1336): age/jpeg</TYPE><BINVAL>iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACHklEQVR42u2Zv64BQRSH9xmUCrUHEAUShUqlshWJxhOIECJ0oqIQL6BTK
DEBUG/SMACK(1336): 1AKrcYDkEgkKq3/9ya/5DQnTmaxbnb2zkm+Yu1a51szs2dmrJ8vxf1+BzxutxtwK6x/LyAlSvF4PACP6/UKjMBfNR2VqBF4N6QmQgnzxN0WMQIqkXevMwLvdlqe4G63A
DEBUG/SMACK(1336): 5fLBXiuE2svoGoalmWB0WgEtOvE2ghIxVoymQSFQgEUi0VgBF4VOB6PYDqdgslkAmazGaDPicViAYLBIKBotVognU6DT5us/wToBHU2Oq7X68C2bdDtdkGn03lKu90GJ
DEBUG/SMACK(1336): Mjv3+/3QTweB+fzGagGBd5E9RfgiUpfqNVqYLVaAacTlNPpBKQYDocgHA4D/gBVL1D9BaQTXKharYL5fA5IjP+ldKyaMvJye7PZgEAgAKR8uJj+AqpijIKa0HK5BE6HO
DEBUG/SMACK(1336): UmQx3g8BpFIBPDrxFJFewFVUUY3ajQagDoxF3e6TMK/V6lUQCwWA7zslvLxj4DTKV65XAaJRAJQcZbL5UA+nwd0nM1mwWAwADwhuq5UKgFJkI6lpqe/wKsLVNvtFhwOB
DEBUG/SMACK(1336): 7Df759CL7BQKAQoMpkMaDabgIT4g5R+n1/nXwG3IhqNglQqBXq9HvD8/oB2AryT0XBIk/r1eg08u6yirYCqFPnWgpYRkMpd1YvRs5t82grwxKmo+/bGhhF4VcyzGxy+E
DEBUG/SMACK(1336): aDhUhpWnU5djYBbGxtuD5e+FfgFV75bC/jUS/sAAAAASUVORK5CYII=</BINVAL></PHOTO>
DEBUG/SMACK(1336): <EMAIL><HOME/><INTERNET/><PREF/><USERID>[email protected]</
DEBUG/SMACK(1336): USERID>
這裏,輸出在我的消息監聽器包,你可以看到照片標記將被丟棄。我不知道爲什麼asmack沒有顯示這一點。
class MyPacketListener implements PacketListener{
public void processPacket(Packet packet){
System.out.println("IQ Received XML : " + packet);
Log.i("Packet IQ", packet.toString());
}
}
這裏是logcat的輸出:
INFO/System.out(1336): <NICKNAME>TC</NICKNAME>
INFO/System.out(1336): <TITLE></TITLE>
INFO/System.out(1336): <EMAIL><HOME/><INTERNET/><PREF/><USERID>[email protected]</USERID>
最近修復了這個問題:http://issues.igniterealtime.org/browse/SMACK-413 – Flow