2013-10-23 6 views
0

내가 그것을 NPE을 제공 :,XMPP를 사용하여 회원 그룹 정보 및 회원 정보를 얻는 방법은 무엇입니까?

getJoinedRooms(connection, "[email protected]");// line:213

Iterator<String> rooms = MultiUserChat.getJoinedRooms(conn, userJID);// line:689 

    //System.out.println("ROOM:"+rooms); 
     while (rooms.hasNext()) { 

      System.out.println("Room list: "+new DiscoverItems.Item(rooms.next()).toString());; 

     } 

을 시도했지만 한 방 목록을 가입하세요. 그렇다면 어떻게 조인 된 그룹리스트를 가져올 수 있습니까? 3 명의 회원이 내 서버 쪽에서 참가자 인 1 개의 가입 된 그룹이 있습니다. 로그 캣 :

I/System.out(948): Room: join 
W/System.err(948): java.lang.NullPointerException 
W/System.err(948): at org.jivesoftware.smackx.muc.MultiUserChat.getJoinedRooms(MultiUserChat.java:180) 
W/System.err(948): at org.apache.android.xmpp.XMPPClient.getJoinedRooms(XMPPClient.java:689) 
W/System.err(948): at org.apache.android.xmpp.XMPPClient$4.onClick(XMPPClient.java:213) 
W/System.err(948): at android.view.View.performClick(View.java:4084) 
W/System.err(948): at android.view.View$PerformClick.run(View.java:16966) 
W/System.err(948): at android.os.Handler.handleCallback(Handler.java:615) 
W/System.err(948): at android.os.Handler.dispatchMessage(Handler.java:92) 
W/System.err(948): at android.os.Looper.loop(Looper.java:137) 
W/System.err(948): at android.app.ActivityThread.main(ActivityThread.java:4745) 
W/System.err(948): at java.lang.reflect.Method.invokeNative(Native Method) 
W/System.err(948): at java.lang.reflect.Method.invoke(Method.java:511) 
W/System.err(948): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
W/System.err(948): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
W/System.err(948): at dalvik.system.NativeStart.main(Native Method) 

이 RoomInfo을 얻으려면 내가 시도 : 참가 그룹에서 자신의 닉네임, JID, 소유자 등의 모든 구성원 세부 정보를 가져 오는 방법

RoomInfo info = null; 
    try { 
     info = MultiUserChat.getRoomInfo(conn,chatRoomName); 
    } catch (XMPPException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    System.out.println("Number of occupants:" + info.getOccupantsCount()); 
내가 시도 거의 모든 솔루션 SO.Any 도움을 주시면 감사하겠습니다!

+0

NPE와 스택 트레이스도 게시해야합니다. – Flow

+0

@Flow이 메서드를 호출 할 때'java.lang.NullPointerException'을 호출하면 한 줄만 표시됩니다. –

+0

Java의 모든 예외에는 스택 추적이 함께 제공됩니다. 일반적으로 로그에 여러 줄을 생성하는 전체 스택 추적을 사용하는 스미스 및 안드로이드 로그 예외. 이 정보를 획득하고 제공하십시오. 그렇지 않으면 "NPE 던졌습니다"는 정보가 충분하지 않기 때문에 어떤 상황에서도 도움이되지 않습니다. – Flow

답변

0

나에게도 효과가 없었습니다. 내가 한 것은 초대장을 보낼 때 쉼표로 구분 된 사용자 목록을 추가 한 것입니다.

muc.invite(friendsJID, friendsJIDsList.toString()); 

그리고 초대시

이 목록은 내가 사용자의 vCard를 얻을 모든 그룹의 사용자 ID와 그것을 사용을 포함

public void invitationReceived(Connection conn, String room, String inviter, String reason, String password, 
     Message message) { 

List<String> list = Arrays.asList(reason.split("\\s*,\\s*")); 

받을 수 있습니다. 희망이 도움이됩니다.