如何在windows phone的后台运行应用程序或某些特定方法

如何在windows phone的后台运行应用程序或某些特定方法,windows,windows-phone-7,windows-phone-8,background,xmpp,Windows,Windows Phone 7,Windows Phone 8,Background,Xmpp,单击windows按钮时,我想在后台运行我的应用程序。 基本上,我有一些XMPP的方法,当我转到后台时,它会将其状态和状态从在线更改为离线。我希望这是在后台运行。 由于状态为脱机,我无法从XMPP接收任何toast通知 如果有人对XMPP有想法,请帮助解决这个问题。 任何帮助都将不胜感激 谢谢, Nishant您无法使应用程序在后台运行。我认为其他IM应用程序使用推送机制。所以你需要一个服务器,当你的应用程序退出时,你告诉服务器让用户看起来仍然在线,当用户收到消息时,你向设备发送推送通知。当用户

单击windows按钮时,我想在后台运行我的应用程序。 基本上,我有一些XMPP的方法,当我转到后台时,它会将其状态和状态从在线更改为离线。我希望这是在后台运行。 由于状态为脱机,我无法从XMPP接收任何toast通知

如果有人对XMPP有想法,请帮助解决这个问题。

任何帮助都将不胜感激

谢谢,
Nishant

您无法使应用程序在后台运行。我认为其他IM应用程序使用推送机制。所以你需要一个服务器,当你的应用程序退出时,你告诉服务器让用户看起来仍然在线,当用户收到消息时,你向设备发送推送通知。当用户点击推送通知弹出窗口时,您的应用程序将启动。

在Windows Phone上,“正常”应用程序无法在后台连续运行。在整个会话期间,XMPP通常需要持久的长期TCP/IP连接

有不同的方法可以解决此问题: 1.创建可在后台运行的应用程序,例如位置跟踪应用程序或语音应用程序

  • 当你的应用程序进入后台时注销,在前台登录之前,你不会收到任何消息

  • 当你的应用程序在后台时注销,并使用后台服务,该服务每隔30分钟登录一次并检查是否有新消息。但这离实时性和XMPP的概念还很远;-)

  • 结合使用XMPP和推送消息。当你在前台时按下XMPP,当你在后台时按下

  • 在应用程序和XMPP服务器之间创建一个代理,并使用Push。这意味着您的应用程序不会自行创建XMPP连接。你的应用程序现在只告诉你的“代理服务器”登录用户X。你的“代理服务器”创建了XMPP连接,它可以全天候保持连接,不管你的应用是否在后台。您的应用程序可以通过推送或任何其他协议与“XMPP代理”通信


  • 您选择哪种解决方案取决于您的独特需求。对于WhatsApp之类的聊天应用程序,后台服务通常不合适,因为您的消息会延迟30分钟,并且在后台服务未运行时,您的消息不可用。而对于其他商业应用程序,这可能没问题。

    Igor——感谢您的建议。但这是获得推送通知的唯一解决方案吗?我可以在定期任务中设置XMPP的一些方法,然后检查是否有任何通知。定期任务每30分钟运行一次(用户可以打开),这可能不足以满足您的需要谢谢Alex为我提供此类解决方案。:)我也尝试过后台服务,是的,你是对的。这不符合我的要求。我还实现了推送通知。只有当任何消息来自服务器时,它才能正常工作,因为服务器有我的设备id,或者我们可以说是通道名称。但对于XMPP,推送通知也不起作用。和“代理服务器”。我还没试过。请分享任何样本或代码块。这样我就可以工作了。谢谢,抱歉,但是我没有基本的例子可以和大家分享。此主题很复杂,需要一系列代码。请共享代码。我被卡住了。当我的应用程序转到后台时,XMPP将断开连接。请告诉我如何使其激活,即使应用程序是在后台。