我正在使用Smack库在我的Android App中获取XMPP pubsub请求。 我想从另一部手机收到的1部电话发送警报作为推送通知弹出窗口。
在调试时,由于Smack 4.2.0库的ChatManager.java类中的代码,控件返回null。
EntityJid userJID = from.asEntityJidIfPossible();
if (userJID == null) {
LOGGER.warning("Message from JID without localpart: '" + message.toXML() + "'");
return null;
}
我的isnt null,ofc ...但是,我的asEntityjidIfPossibe为null。
我的Iq如下:
<iq
to="pubsub.foo"
from="notifier@foo"
type="set"
id="1523272621323">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish xmlns="http://jabber.org/protocol/pubsub"
node="/home/foo/notifier/c7215880-a36e-4cb9-bdd3-441cf9c29c31/pqr">
<item id="item11523272621323">
<json xmlns="urn:xmpp:json:0">
{"id":"b7da305d-77c2-422a-9c95-7ec8a347192e",
"orgId":"c7215880-a36e-4cb9-bdd3-441cf9c29c31",
"user_id":"f0622ed6-860f-4f4e-9b11-c4ab6cb8cd66",
"username":"xyz",
"subject":"Message",
"body":"hello all",
"priority":"NORMAL",
"ack_required":false,
"users":["pqr"],
"replyTo":["/home/foo/notifier/c7215880-a36e-4cb9-bdd3-441cf9c29c31/xyz",
"/home/foo/notifier"]}
</json>
</item>
</publish>
</pubsub>
</iq>
我想要的只是看看发送的邮件是否已收到?以及如何获取数据来处理它...数据在发送电话的服务器上完美发送。
在接收设备上, 我收到这条消息TWICE,
Message from JID without localpart: '<message to='xyz@foo/5301412210663914056363834' from='pubsub.foo'><event xmlns='http://jabber.org/protocol/pubsub#event'><items node='/home/foo/notifier/c7215880-a36e-4cb9-bdd3-441cf9c29c31/xyz'><retract id='item11523351450156'/></items></event></message>'