我正在尝试使用 LaunchUriAsync() 和 Package.Lunch() 在 windows phone 8 中引入一个封闭的应用程序。
我看到 LaunchUriAsync() 的问题在于它必须从前台应用程序调用,而当它从后台应用程序调用时它将无法工作。我正在尝试使用定期代理启动应用程序。我只是想把它带到前台。而已。这是因为,周期性代理只有 25 秒的时间跨度。
在包类中。它说,我将能够启动与启动应用程序具有相同发布者 ID 的包。我想知道是否可以从后台执行此操作。
我正在尝试使用 LaunchUriAsync() 和 Package.Lunch() 在 windows phone 8 中引入一个封闭的应用程序。
我看到 LaunchUriAsync() 的问题在于它必须从前台应用程序调用,而当它从后台应用程序调用时它将无法工作。我正在尝试使用定期代理启动应用程序。我只是想把它带到前台。而已。这是因为,周期性代理只有 25 秒的时间跨度。
在包类中。它说,我将能够启动与启动应用程序具有相同发布者 ID 的包。我想知道是否可以从后台执行此操作。
从用户体验的角度来看,突然启动应用程序会被认为是一种糟糕的用户体验,并且可能会使用户感到困惑或中断他们的操作。
相反,您可以做的是使用磁贴通知通知用户您的事件,或者更好的是,吐司通知,因为此通知会提示用户在他们愿意时打开应用程序。
这是一个如何从后台代理显示 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();
}
请参阅此处了解更多信息。
你根本做不到。想象一下,如果用户突然解锁手机并且某个随机应用程序将自己带到前台,他们会获得什么样的体验。您可以从自己的应用程序启动其他应用程序,但对于每个应用程序,您都需要明确的用户权限。