Windows Phone 8.1 应用打开
Windows Phone 8.1 App opened
我正在开发一个显示 toast 通知的应用程序,但如果用户打开了该应用程序,则必须发送任何通知。
如果我想避免在打开应用程序时显示新通知,我应该知道用户是否正在使用该应用程序。
如何知道应用程序是否在 Wp 8.1 中打开? (不是运行在后台,我的意思是此时被用户使用)。
谢谢。
如果您要显示来自后台任务的通知,只需向本地存储添加一个标志,指示您的应用程序是否打开:
LocalSettings.Values.Add("IsAppOpen", true);
现在您所要做的就是在您的应用处于以下情况时将该标志设置为 true 或 false:
- 激活/启动
- 暂停
- 已恢复
您可以使用标准处理程序:
Application.Current.Resuming += new EventHandler<Object>(App_Resuming);
Application.Current.Suspending += new SuspendingEventHandler(App_Suspending);
OnLaunched / OnActivated 应该已经在您的 App.xaml.cs 中实现了。在所有这些处理程序中,将您的标志设置为相应的值:
LocalSettings.Values["IsAppOpen"] = true; // Or false, when the app is suspended
您可以从后台进程中读取标志并停止显示通知。
我正在开发一个显示 toast 通知的应用程序,但如果用户打开了该应用程序,则必须发送任何通知。
如果我想避免在打开应用程序时显示新通知,我应该知道用户是否正在使用该应用程序。
如何知道应用程序是否在 Wp 8.1 中打开? (不是运行在后台,我的意思是此时被用户使用)。
谢谢。
如果您要显示来自后台任务的通知,只需向本地存储添加一个标志,指示您的应用程序是否打开:
LocalSettings.Values.Add("IsAppOpen", true);
现在您所要做的就是在您的应用处于以下情况时将该标志设置为 true 或 false:
- 激活/启动
- 暂停
- 已恢复
您可以使用标准处理程序:
Application.Current.Resuming += new EventHandler<Object>(App_Resuming);
Application.Current.Suspending += new SuspendingEventHandler(App_Suspending);
OnLaunched / OnActivated 应该已经在您的 App.xaml.cs 中实现了。在所有这些处理程序中,将您的标志设置为相应的值:
LocalSettings.Values["IsAppOpen"] = true; // Or false, when the app is suspended
您可以从后台进程中读取标志并停止显示通知。