Windows Phone c#如何捕获全局钩子

Windows Phone c# how to catch global hook

我有简单的应用程序:

public MainPage()
{
    InitializeComponent();
    CameraButtons.ShutterKeyPressed += OnButtonFullPress;           
}
private void OnButtonFullPress(object sender, EventArgs e)
{
    //camera button pressed
}

当我的应用程序处于活动状态时,一切都很好,但是,当我的应用程序处于非活动状态时,当按下相机按钮时,我无法捕捉。

默认 SDK 是否可行?

有一种方法可以将您的应用程序设置为 windows phone 8 上的默认相机应用程序,但此功能仅适用于 'special' 开发人员,例如 Microsoft、Nokia 或其他五金企业。所以这对你来说是不可能的,很可能。

http://forums.windowscentral.com/windows-phone-8/234751-changing-default-camera-app.html

此外,如果您查看应用程序生命周期,您会发现在用户最小化您的应用程序后,它可能会被逻辑删除甚至从内存中卸载。因此,您失去了对设备资源的控制。这意味着除了唤醒事件你不能得到任何事件。

您的第三个选择是运行锁屏下的应用程序,但它也不适合您。您可以在此模式下使用有限的 api 组。 (位置和音频)。

很抱歉,您目前无能为力。

不幸的是,第三方开发者无法做到这一点。当您的应用程序处于 运行 时,您只能访问硬件按钮。