問題が 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>")));