-2

我正在尝试使用 LaunchUriAsync() 和 Package.Lunch() 在 windows phone 8 中引入一个封闭的应用程序。

我看到 LaunchUriAsync() 的问题在于它必须从前台应用程序调用,而当它从后台应用程序调用时它将无法工作。我正在尝试使用定期代理启动应用程序。我只是想把它带到前台。而已。这是因为,周期性代理只有 25 秒的时间跨度。

在包类中。它说,我将能够启动与启动应用程序具有相同发布者 ID 的包。我想知道是否可以从后台执行此操作。

4

2 回答 2

0

从用户体验的角度来看,突然启动应用程序会被认为是一种糟糕的用户体验,并且可能会使用户感到困惑或中断他们的操作。

相反,您可以做的是使用磁贴通知通知用户您的事件,或者更好的是,吐司通知,因为此通知会提示用户在他们愿意时打开应用程序。

这是一个如何从后台代理显示 shell toast 的示例:

 protected override void OnInvoke(ScheduledTask task){
     String toastMessage = "Periodic task running.";
     ShellToast toast = new ShellToast();
     toast.Title = "Background Agent Sample";
     toast.Content = toastMessage;
     toast.Show();
     NotifyComplete();
 } 

请参阅此处了解更多信息。

于 2014-03-31T21:11:56.873 回答
0

你根本做不到。想象一下,如果用户突然解锁手机并且某个随机应用程序将自己带到前台,他们会获得什么样的体验。您可以从自己的应用程序启动其他应用程序,但对于每个应用程序,您都需要明确的用户权限。

于 2014-03-31T23:41:02.030 回答