0

我有一个我正在开发的个人WinRT应用程序,当应用程序暂停时,我希望使用不同的启动参数重新启动它。暂停时重新启动WinRT应用程序

我知道你可以用吐司通知来做这件事,但我想知道是否有可能在没有任何用户交互的情况下做。

谢谢!

+0

如果您的应用程序注册了某个协议,则可能可以在挂起时调用Launcher.LaunchUriAsync。不知道它是否有效,但干扰控制流程将使用户想刺你的脸... – 2015-02-08 20:08:57

+0

如果它是为了特殊目的,你只是想阻止你的应用程序关闭,我建议调查Kiosk模式。 – 2015-02-08 20:10:03

+0

我需要它为特定/特殊用途,但Kiosk模式似乎不是我需要的。一个协议处理程序可能会做到这一点,所以如果没有其他的工作,我可以试一试。 – rysama 2015-02-10 11:50:03

回答

1

哇。我从来没有想过这个。您唯一的希望就是在使用协议激活的暂停事件期间重新启动您的应用程序。但是会发生什么,它不会被重新启动,它会在处于挂起状态时被重新激活,并且激活被拒绝。您无法延迟重新激活,因为所有线程计划在应用程序终止后也会暂停。我刚刚在一个测试应用中尝试了这一点,我说得对。

也没有选择以某种方式触发后台任务。尽管ApplicationTrigger随Windows 10一起提供,但规则仍然是后台任务无法调用任何UI。所以,你不能使用后台任务。

然后我想到了文件激活。然后我意识到文件激活与协议激活相同,结果也是一样的。

是的,使用定时提醒或计划提醒的想法可能会有所帮助。它肯定会要求用户点击吐司,如果吐司被禁用,或者用户没有点击它们(它们是短暂的),那么你没有运行,也没有什么能够启动你。

还有一件事你可以做。由于这里没有WinRT解决方案,请记住几乎总是有一个Win32解决方案。 Win32内存中应用程序侦听您的应用程序被终止并再次启动它(例如使用协议激活)没有任何问题。除非您在ARM设备上运行此问题,否则问题就解决了 - 希望不会。

我谈论协议激活此:

http://blog.jerrynixon.com/2012/10/walkthrough-using-windows-8-custom.html

祝您好运!