Android XMPP状态订阅
在我的应用程序中,当我使用此代码向任何朋友发送请求时Android XMPP状态订阅,android,xmpp,subscription,user-presence,Android,Xmpp,Subscription,User Presence,在我的应用程序中,当我使用此代码向任何朋友发送请求时 try { roster.createEntry(idExtension, nickname, null); roster.setSubscriptionMode(Roster.SubscriptionMode.manual); Presence subscribe = new Presence(Presence.Ty
try {
roster.createEntry(idExtension, nickname, null);
roster.setSubscriptionMode(Roster.SubscriptionMode.manual);
Presence subscribe = new Presence(Presence.Type.subscribe);
subscribe.setTo(idExtension);
connection.sendPacket(subscribe);
return true;
} catch (XMPPException e) {
System.err.println("Error in adding friend");
return false;
}
然后订阅在两个好友名册上都显示“无”
但它应该是“到”和“从”
但如果我在同一过程中使用此代码-
try {
roster.createEntry(idExtension, nickname, null);
roster.setSubscriptionMode(Roster.SubscriptionMode.manual);
Presence subscribed = new Presence(Presence.Type.subscribed);
subscribed.setTo(idExtension);
connection.sendPacket(subscribed);
return true;
} catch (XMPPException e) {
System.err.println("Error in adding friend");
return false;
}
然后它给了我正确的结果,我应该在前面的例子中得到
请告诉我为什么我在订阅模式下没有得到相同的结果
谢谢我想你没有理解在场时打字的意思 subscribe——发送方希望订阅接收方的 在场 已订阅--发件人已允许收件人 接受他们的存在 因此,当您发送第一个消息时,您请求用户允许您订阅他的状态事件,并且在他不允许您订阅之前,订阅类型为“无”
在第二种情况下,您允许用户订阅您的状态信息,也就是说,您允许他收听您的状态信息,从而获得订阅类型。在第一种情况下,当我发送订阅请求时,我正在使用subscribe,然后会向用户发送通知。在该通知的“允许”按钮上,我将状态更改为“已订阅”,但在“明火订阅”列表中,我只看到“到/从”。但我想要两种身份。怎样才能达到同样的效果呢?你必须从两个方面来完成这个过程。Sp总共有4个状态将在此发生,其中2个类型为Subscribe,另外2个类型为Subscribe。我可以与您进行一次聊天会话吗?第一步-想要添加的人将发送-订阅数据包第二步-接收它的人将发送-订阅数据包。之后会发生什么?然后执行相反的过程:收到请求的人现在将发送SUBSCRIBE,另一个人将通过SUBSCRIBED.hi Gaurav进行响应,文件传输是否成功?如果是,请帮我做同样的事情。我被文件传输卡住了。@juned No brother我把那个东西放在一边了。现在我转到了其他功能。请帮我-是的,当然,事实上我在Harryjoy的博客上找到了你。所以我以为你已经完成了文件传输。总之没问题:)@juned你能为我的问题找到解决办法吗??我在上面的链接中提到过??不,实际上我没有实现该功能,但我建议您了解如何刷新好友列表以查看好友列表中最近添加的用户。在后台使用服务执行此操作,并相应地刷新。这是我的一般想法,但一旦我将在这方面的工作,我给你完整的解决方案。