java.lang.IllegalArgumentException:提供的用户 ID 不是完整的 JID (Smack)

Posted

技术标签:

【中文标题】java.lang.IllegalArgumentException:提供的用户 ID 不是完整的 JID (Smack)【英文标题】:java.lang.IllegalArgumentException: The provided user id was not a full JID (Smack) 【发布时间】:2016-11-28 07:17:49 【问题描述】:

我在应用程序中使用Smackxmpp 发送消息,当我尝试从我得到的手机发送图片时:java.lang.IllegalArgumentException: The provided user id was not a full JID 在行中:

OutgoingFileTransfer transfer = manager.createOutgoingFileTransfer(id);

为了获取 id,我正在使用以下代码:

String id= roster.getPresence("test2@irynas-macbook-air.local").getStanzaId();

怎么了?如何获取full JID

【问题讨论】:

【参考方案1】:

我发现了问题所在,id应该是"test@irynas-macbook-air.local/Irynas-MacBook-Air"的格式,Irynas-MacBook-Airresource,所以“/”后面的部分很重要。

【讨论】:

以上是关于java.lang.IllegalArgumentException:提供的用户 ID 不是完整的 JID (Smack)的主要内容,如果未能解决你的问题,请参考以下文章

IllegalArgumentException:此 NavController 未知导航目的地 xxx