如何检测Windows 8应用程序转到后台

时间:2014-07-08 09:53:39

标签: c# events windows-8

我的问题非常简单,是否有任何事件或方法可以检测我的应用程序何时不在前台 - 当用户已经绑定到其他应用程序时?

我想做的事情,我希望在用户不使用该应用时暂停一些功能和活动。

onActivating和onSuspending上的函数不执行...

以下是一个例子:

enter image description here

2 个答案:

答案 0 :(得分:1)

可见性已更改事件应足以满足您的需求:

Window.Current.VisibilityChanged += (s, e) => 
{
    if (!e.Visible)
    {
        // Application went to background
    }
    else 
    {
        // Application is FullScreen again
    }
};

答案 1 :(得分:0)

OS handles suspension and resumption for you,因此您不需要暂停这些活动:

  

当用户将应用程序移动到后台时,操作系统会等待几秒钟以查看用户是否立即切换回应用程序。如果用户没有切换回来,操作系统将暂停该应用程序。

     

如果某个应用已为暂停|注册了事件处理程序暂停事件,在应用程序暂停之前调用此事件处理程序。您可以使用事件处理程序将相关的应用程序和用户数据保存到持久存储。我们建议您使用应用程序数据API,因为它们可以在应用程序进入暂停状态之前完成。