2013-03-06 62 views
1

在XMPP中,當我向其他用戶發送好友請求時,如果其他用戶想拒絕它,則應從名單中刪除條目,但我無法刪除條目來自用戶。這是給我強制關閉(與空指針異常)在Xmpp中拒絕請求 - 從名單中刪除條目

這裏是我的拒絕按鈕代碼

btn_Deny = (Button)findViewById(R.id.btn_manageNotification_DENY); 
     btn_Deny.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       Presence unsubscribe = new Presence(Presence.Type.unsubscribed); 
       unsubscribe.setTo(id);    
       connection.sendPacket(unsubscribe); 

       /*String message = mXmconn.removeFriend(subID, CMMStaticVariable.CommonConnection); 
       System.out.println(message);*/ 

       Intent returnBack = new Intent(ManageNotification.this, UserMenuActivity.class); 
       startActivity(returnBack); 
       finish();    
      } 
     });  
    } 

刪除好友

public String removeFriend(String jid, XMPPConnection connection){ 
     roster = connection.getRoster(); 
     String message = ""; 
     try { 
      RosterEntry rosterEntry = roster.getEntry("[email protected]"); 
      System.out.println("rosterEntryy"+rosterEntry.toString()); 

      roster.removeEntry(rosterEntry); 
      message = "You have denied the friend request"; 
     } catch (XMPPException e) { 
      e.printStackTrace(); 
      message = "Exception"; 
     } 
     return message; 
    } 

它在rosterEntry = null被賦予空指針;

感謝

回答

1

XMPP-CORE定義了服務器必須在拒絕訂閱請求刪除該用戶的名冊名冊項目。因此,當您嘗試請求時,該項目甚至不應該在那裏。

從規格:

注意:如果聯繫人的服務器之前添加的用戶聯繫人的名冊用於跟蹤目的,它必須在此時間刪除相關項目。

您可以閱讀更多here

+0

但沒有狀態的名單項目根本沒有刪除,而是它在RosterEntry給我空指針異常。 謝謝 – 2013-03-06 09:42:58