1

以下のコードを使用して、正常に機能しているすべてのユーザーに友達リクエストを送信していますが、名簿リストから接続されているユーザーを見つけることができません。

今、私は名簿リストで新しくリクエストされた友達を特定する方法を知りたいです。

Roster roster = XMPPSmackConnection.getInstance().connection.getRoster();
roster.setSubscriptionMode(Roster.SubscriptionMode.manual);
try {
    if(!_userName.contains("@"))
        _userName=_userName+"@204.93.197.136";

    Presence response = new Presence(Presence.Type.subscribe);
    response.setTo(_userName);
    XMPPSmackConnection.getInstance().connection.sendPacket(response);

    //roster.createEntry(_userName, _nickName, my_friends[]);
    //addBuddy(_userName, _nickName, Friends);
} catch (Exception e) {
    _progDailog.dismiss();
    e.printStackTrace();
}
4

1 に答える 1

4

私は、友人のリクエストを受け入れても名簿リストが更新されないという同様の問題を解決しようとしています。続く手順:-

  1. サブスクライブとしてプレゼンスタイプを使用して友達リクエストを送信しました
  2. 一方、友人のリクエストを受け入れている間、サブスクライブされたプレゼンスタイプが送信されます
  3. サブスクライブされたプレゼンスパケットを受信すると、別のサブスクライブされたパケットが返送されます。

サーバーの名簿リストは、サブスクリプションタイプによってBothとしてすぐに更新されますが、名簿エントリは更新されません。また、名簿のサブスクリプションモードは手動に設定されており、PacketListenerも接続されています。

この問題の解決策に貢献することで、何か助けを提供できますか?それは大いに役立つでしょう。

よろしく、Vaidehi

于 2013-02-08T14:40:26.370 に答える