天天看點

xmpp 添加好友 好友狀态監聽

  1. xmpp 添加好友 好友狀态監聽

    1.1 a + b b delete a a 監聽到 unsubscribed

    1.2 b + a b delete a a 監聽到 unsubscrib

    1.3 a + b 或者 b + a 被加方收到 subscrib

    1.4 a 同意 b 的添加請求 b 收到 subscribed

    subscribe ,subscribed 和 unsubscrib ,unsubscribed 都是 a b 雙方互互相動時收到的狀态

2.1 拿到xmpp 連接配接

      Roster roster = connection.getRoster();

      Collection<RosterEntry> rosterEntries = roster.getEntries();

       //進行線程睡眠 500 毫秒,防止好友清單取不到

       for (RosterEntry entry : rosterEntries) {

        //進行循環判斷 好友的狀态

         Both none from to remove  五種狀态 (Android 沒有收到 remove狀态)

          根據不同的狀态就行處理

         }      
  1. Roster.setDefaultSubscriptionMode(Roster.SubscriptionMode.manual);

    将處理請求方式改為手動。必須再登陸之前設定,否則會出現。好友的請求還沒有接受。自動成為好友

    connection.connect();

    4.特别需要注意,添加好友删除好友。離線 和線上的差別。比如Android 版的

    a 删除 b(離線),那麼b 上線無法收到被 a 删除這個狀态。需要自己寫邏輯進行處理