我已经从openfire管理页面创建了一个用户。我输入了用户名,NAME,电子邮件,密码。
我正在Android中编写客户端。如何获取当前用户的NAME?我试过了: (1)connection.getuser() - 它返回:peter@www.abc.com/smack (2)获取自动vcard - 它不返回与NAME相关的任何内容
我可以通过RosterEntry.getName()获取其他用户的名称。但是如何获得当前用户的名字?
此外,是否可以获取当前用户的状态? (如presence.getStatus())
答案 0 :(得分:4)
您可以使用getAccountAttribute通过AccountManager获取当前用户的名称,然后指定属性的名称。在这种情况下,它是名称“。这是简单打印当前用户名称的代码
System.out.println("name = " + connection.getAccountManager().getAccountAttribute("name"));
关于您的第二个问题,您当然可以通过使用roster.getPresence了解其他用户在您的名单中的存在。这是一个简单的循环来说明这种方法的使用
for(RosterEntry r:entries) {
Presence presence = roster.getPresence(r.getUser());
System.out.println(presence.toXML());
}