如何使用openfire服务器和asmack在android中获得最后的活动

时间:2015-06-17 07:42:07

标签: android xmpp openfire asmack

LastActivity lastActivity = new LastActivity();
lastActivity.setTo(mpresence_array.get(i)+"@ip-108-62-33-145.secureserver.net/Smack");

long seconds = lastActivity.lastActivity; 
Log.d(Tag,"Last Seen by : "+seconds);

但它只返回-1

我也试过这个

但我得到这样的例外

我使用了Smack库,我试图获得如下所示的lastactivty。

LastActivty lastSeen = LastActivityManager.getLastActivity(
           ConnectionManager.getInstance().getXmppConn ection(),
           Utils.createXmppUserIdByUserId(friendId));

但它给了我以下错误

  

08-05 11:59:36.299:E / AndroidRuntime(14006):java.lang.RuntimeException:无法启动活动ComponentInfo {com.zobichat.activity / com.MyChat.activity.ChatInitialActivity}:java.lang。 ClassCastException:org.jivesoftware.smack.util.PacketParserUtils $ 2无法强制转换为org.jivesoftware.smackx.packet.LastActivity

我该如何解决这个问题?请帮忙。

1 个答案:

答案 0 :(得分:0)

试试这个

LastActivityManager lastactivity = LastActivityManager.getInstanceFor(MyXMPPconnection);
LastActivity k = lastactivity.getLastActivity(JID); // user jid
Log.d("Last seen",k.lastActivity");