2014-12-25 5 views
0

Я пытаюсь создать нового пользователя с большим количеством атрибутов, но это не working.I я использую этот код с asmack:Создание нового пользователя с большим количеством атрибутов в 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", "[email protected]"); 
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?

ответ

1

Вы можете выполнить это с помощью VCard.

  1. Чтобы сохранить VCard:

    VCard vCard = new VCard(); 
    vCard.setFirstName("foo"); 
    vCard.setEmailHome("[email protected]"); 
    vCard.save(conn2); 
    
  2. Для загрузки VCard:

    VCard vCard = new VCard(); 
    vCard.load(conn2); 
    String name = vCard.getFirstName(); 
    

Примечание: Вы должны войти в первую, чтобы сохранить VCard.

+0

Вы знаете, как я могу получить доступ к этим данным из модуля ejanberd? (Erlang) – Okan

+0

@Okan Нет, извините. – Khaled

+0

Мне нужно сохранить токен устройства Android. Какое поле подходит для меня? – Okan

 Смежные вопросы

  • Нет связанных вопросов^_^