1

問題が 1 つあります。jid に従ってプログラムでデータベースから pubsubitem テーブルからペイロード項目を削除する必要があります。openfire と smack api を使用しています。

データベースに新しいエントリが追加されるたびに、leaf.sendまたはpublishを呼び出すと、毎回のように機能します。

そのため、そのエントリを更新するか、古いエントリを削除して新しいエントリを追加する必要があります。ありがとう

 leaf.deleteItem(leaf.getSubscriptions().get(0).getJid().toString());

 leaf.publish(new PayloadItem("Chandigarh" + "*" + System.currentTimeMillis(),new SimplePayload("Online", "stage:pubsub:simple",
                                                                        "<book xmlns='" + sharedPreferences.getString("user_id", "") + "," + gpsTracker.getLatitude() + "," + gpsTracker.getLongitude() + "'><title>" + "Offline user" + "</title></book>")));
4

1 に答える 1

1

これは、次の 2 つの方法で可能です。

  1. 任意のレコードの更新:

ペイロード アイテム ID が同じ場合、システムによって自動的に更新が処理されます。

  1. 削除も機能しますが、特定のペイロード アイテムを削除するには、同じペイロード ID を渡す必要があります。

ありがとうございました

于 2016-03-09T05:54:44.113 に答える