通用应用检测开始焦点丢失

时间:2014-11-13 19:14:19

标签: windows-phone-8.1 win-universal-app

我正在为WP8.1编写一个通用应用程序我不希望它暂停。

有些银行应用程序是这样的。如果银行应用程序正在运行,我单击后退按钮或开始按钮,该应用程序不会被暂停。它退出了。我想开发人员不希望银行账户凭证挂在状态数据中。

我正在尝试为我的安全消息应用程序执行相同的操作。我可以在后退按钮上放置一个事件:

Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;

并在此事件处理程序中调用:

App.Current.Exit();

这很有效。

但是如何检测应用程序是否因用户按下开始按钮,搜索按钮或关闭按钮而失去焦点?

我在App类中尝试过这个事件:

Window.Current.Activated + = Current_Activated;

和这个函数,也在App类中:

protected override void OnActivated(IActivatedEventArgs args)

但他们都没有被召唤。

1 个答案:

答案 0 :(得分:1)

像这样:

public sealed partial class App : Application
{
    /* --- Omitted generated code here --- */

    protected override void OnWindowCreated(WindowCreatedEventArgs args)
    {
        args.Window.VisibilityChanged += Window_VisibilityChanged;
    }

    void Window_VisibilityChanged(object sender, VisibilityChangedEventArgs e)
    {
        if (!e.Visible)
            Exit();
    }
}