XMPPConnection.addConnectionCreationListener(new ConnectionCreationListener() {
@Override
public void connectionCreated(Connection arg0) {
Log.i(TAG, "receive xmpp connection : " + arg0);
connection = arg0;
roster = arg0.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
Presence presence;
Log.e(TAG, "user count" + entries.size());
for (RosterEntry entry : entries) {
presence = roster.getPresence(entry.getUser());
Log.i(TAG, "" + entry.getUser());
Log.i(TAG, "" + presence.getType().name());
Log.i(TAG, "" + presence.getStatus());
}
}
});
Vì vậy, khi bắt đầu chương trình của bạn đăng ký mà XMPPConnection người nghe, thường mất vài giây để nhận đối tượng kết nối. Nhưng nó sẽ chỉ hoạt động nếu bạn sẽ sử dụng creatEntry chỉ trong trường hợp đó con gà trống sẽ thấy những người dùng tạo ra.
Để tạo entry sử dụng Roster sử dụng mã tiếp theo:
try {
rooster.createEntry("name", "user_id", null);
} catch (XMPPException e) {
e.printStackTrace();
}
Tôi không sử dụng bất kỳ nhóm, và với thành công thấy người dùng trên thiết bị thứ hai.
Nguồn
2014-02-12 12:53:11
Cảm ơn, nhưng tôi có thể xác định trạng thái trực tuyến hoặc ngoại tuyến bạn có thể xóa điều này không? –
Tôi đã làm cùng một mã nhưng mỗi người dùng chỉ đơn giản là cung cấp cho sự hiện diện "không có sẵn" làm thế nào nó có thể được khi có 4-5 đã có sẵn, nhưng hiển thị cho tôi tất cả là không có ai có thể giúp tôi về điều đó? –
Tương tự tại đây. Tôi chỉ nhận được trạng thái không có sẵn:/ –