如何在Windows Phone中的后台运行我的应用程序或某些特定方法

时间:2013-12-12 07:31:16

标签: windows windows-phone-7 windows-phone-8 background xmpp

我想在单击Windows按钮时在后台运行我的应用程序。 基本上我有一些XMPP方法,当我进入后台时,它会将其状态和状态从在线更改为离线。我想让它在后台运行。 由于状态是离线的,我无法从XMPP收到任何Toast通知。

如果有人了解XMPP,请帮助解决此问题。

任何帮助将不胜感激。

谢谢, NISHANT

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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

  2. 当您的应用处于后台时注销,并使用以例如间隔登录的后台服务。 30分钟并检查新消息。但这远不是实时和XMPP的想法; - )

  3. 结合使用XMPP和Push消息。当你在前台时XMPP,当你在后台时推动。

  4. 在您的应用和XMPP服务器之间创建代理并使用Push。这意味着您的应用程序不会创建XMPP连接。您的应用程序现在只告诉您的“代理服务器”登录用户X.您的“代理服务器”会创建XMPP连接,它可以全天候连接,无论您的应用是否处于后台,都无关紧要。您的应用可以通过推送或任何其他协议选择与您的“XMPP代理”进行通信。

  5. 您选择哪种解决方案取决于您的独特要求。对于像WhatsApp这样的聊天应用程序,后台服务通常不合适,因为您的邮件会延迟最多30分钟,并且在后台服务未运行时您的邮件不可用。对于其他商业应用程序,这可能没问题。