오픈 파이어 서버와 안드로이드 클라이언트 (마약)가 있습니다. 모든 클라이언트는 서로를 버디/명단 목록에 추가 할 수 있습니다 (승인없이 버디 요청을 수락하지 않고도 서로를 볼 수 있음). 친구 요청 발신자의 현재 상태 정보를 가져 오는 데 몇 가지 문제가 있습니다.Android 마약에서 친구 요청을 올바르게 수락하는 방법은 무엇입니까?
Roster roster = xmppManager.connection.getRoster();
roster.setSubscriptionMode(Roster.SubscriptionMode.accept_all);
roster.createEntry("userB", "[email protected]", null);
나는 사용자 A의 명단 목록에서 사용자 B를 볼 수 있습니다 : 사용자 A, 사용자 B
I에 의해 사용자 A의 명단에 사용자 B를 추가 할 수 있습니다 -
2 사용자가 가정합니다. 모든 것은 지금까지 괜찮
나는 아래의 코드에서 문제가 무엇 상태 사용자 B에 몇 가지 문제가 있습니다
: 나는 사용자 A에 createEntry() 할 필요가
//I have set the available and status of User A by:
//xmppManager.setStatus(available, bundle.getString("new_status"));
...
// That's how I get Roster and Presence of user A
Roster roster = connection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
for (RosterEntry entry : entries) {
Presence presence = roster.getPresence(entry.getUser());
// User A always not available even I set User A to available
Log.e(TAG, "presence.isAvailable() = " + presence.isAvailable());
// User A's status always empty
Log.e(TAG, "presence.getStatus() = " + presence.getStatus());
// User A's getName() always null
if (entry.getName() != null)
{
name = entry.getName();
}
else
Log.e(TAG, "GetName is null");
}
이 음주?
또는 이와 같은 친구 요청으로 무엇인가를해야합니까?
@Override
public void entriesAdded(Collection<String> collection) {
String user = "";
Iterator<String> it = collection.iterator();
if(it.hasNext()){
user=it.next();
}
Presence presence = new Presence(Presence.Type.subscribe);
presence.setTo(user);
connection.sendPacket(presence);
}
하지만 작동하지 않습니다. 먼저 사용자 B에게 뭔가를 할 필요가있는 것 같습니다. 어떤 아이디어라도 환영합니다, 고마워요!