使用smack api更改用户状态的问题

时间:2014-05-30 07:52:38

标签: android smack

我需要在聊天应用程序中更改用户的状态。我正在使用smack api。我已设法使用以下代码将状态更改为脱机:

Presence presence = new Presence(Presence.Type.unavailable, "Unavailable", 42, null);
LoginScreen.connection.sendPacket(presence);

但是当我尝试将状态更改回在线时,它不会改变。我使用以下代码:

Presence presence = new Presence(Presence.Type.available);
Mode mode = Mode.available;
presence.setMode(mode);
presence.setTo(LoginScreen.connection.getUser());
LoginScreen.connection.sendPacket(presence);

当我尝试使用以下代码获取状态时,它始终显示为“不可用”:

Presence entryPresence = roster.getPresence(LoginScreen.connection.getUser());
Log.i("chk-text", "@@@@ roster entryPresence >> "+entryPresence);
final Presence.Type user_type = entryPresence.getType();
Log.i("chk-text", "@@@@ roster user_type >> "+user_type);

请帮忙。

1 个答案:

答案 0 :(得分:0)

Presence p = new Presence(Presence.Type.available," Always available",42,Mode.available);     connection.sendPacket(P);

这对我有用.. !!