我正在使用 asmack 4.0.5 并且想要检索用户的最后一次查看。我尝试使用:
LastActivityManager lActivityManager = LastActivityManager.getInstanceFor(mConnection);
try {
Log.v(TAG,"Last Activity: " + ActivityManager.getLastActivity(pArg0.getFrom()));
} catch (NoResponseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XMPPErrorException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NotConnectedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但这总是返回 0 秒。它应该就像当应用程序在后台时,那么用户应该显示为离线。用户只有当他有应用程序在前台时才在线。有人知道如何获取最后一次看到的吗用户。
最佳答案
在线时应发送状态为“在线”的数据包,离线时应发送状态为“离线”的数据包(当应用程序进入后台时,发送“离线” )。现在服务器才能够在其他人询问时让他们知道。
现在,当 A 想知道 B 的最后一次看到的状态并且服务器返回 0 时,那么根据文档,这意味着 B 已经在线.. :) 否则它将是耗时。请阅读此处了解更多详细信息。
关于java - 如何在 android 中使用 asmack 4.0.5 获取最后一次查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26974249/