我正在尝试创建具有更多属性的新用户,但它无法正常工作。我在asmack中使用此代码:
ConnectionConfiguration config = new ConnectionConfiguration("SERVER IP", 5222,"localhost");
config.setSecurityMode(SecurityMode.disabled);
XMPPConnection conn2 = new XMPPTCPConnection(config);
conn2.connect();
AccountManager manager =AccountManager.getInstance(conn2);
Map<String, String> attributes = new HashMap<String, String>();
attributes.put("username", "my_user_name");
attributes.put("password", "my_password");
attributes.put("email", "foo@foo.com");
attributes.put("name", "my_full_name");
manager.createAccount("my_user_name", "my_password", attributes);
conn2.login("my_user_name", "my_password");
ChatManager chatmanager = ChatManager.getInstanceFor(conn2);
Log.w("User Name:",""+manager.getAccountAttribute("name"));
但是当我尝试使用getAccountAttribute
进行登录时,除了用户名和密码外,所有字段都返回null。
如何在asmack中设置姓名,电子邮件等字段?
答案 0 :(得分:1)
你可以用VCard来实现这一点。
保存VCard:
VCard vCard = new VCard();
vCard.setFirstName("foo");
vCard.setEmailHome("foo@foo.com");
vCard.save(conn2);
加载VCard:
VCard vCard = new VCard();
vCard.load(conn2);
String name = vCard.getFirstName();
注意:您必须先登录才能保存VCard。