Windows phone 7 如何覆盖Windows Phone应用程序中的摄像头按钮?

Windows phone 7 如何覆盖Windows Phone应用程序中的摄像头按钮?,windows-phone-7,windows-phone-7.1,windows-phone-8,windows-phone,windows-phone-7.1.1,Windows Phone 7,Windows Phone 7.1,Windows Phone 8,Windows Phone,Windows Phone 7.1.1,市场上有一款名为Flashlight-X的应用程序,它可以覆盖此按钮,让用户打开/关闭手机的LED闪光灯。无论你做什么,按下应用程序内的摄像头按钮都不会打开摄像头应用程序。你是如何做到这一点的 我的意思是,我知道如何订阅相机按钮事件,但如何防止默认操作发生?与覆盖默认行为一样。您不能(不应该)覆盖特殊按钮的默认行为(相机、后退、开始、音量增大、音量减小、搜索) 关于MSDN,有一篇文章描述了这一点: 在WP7中,可以使用Assembly.Load访问Microsoft不支持的(仅限内部使用)“M

市场上有一款名为Flashlight-X的应用程序,它可以覆盖此按钮,让用户打开/关闭手机的LED闪光灯。无论你做什么,按下应用程序内的摄像头按钮都不会打开摄像头应用程序。你是如何做到这一点的

我的意思是,我知道如何订阅相机按钮事件,但如何防止默认操作发生?与覆盖默认行为一样。

您不能(不应该)覆盖特殊按钮的默认行为(相机、后退、开始、音量增大、音量减小、搜索)


关于MSDN,有一篇文章描述了这一点:

在WP7中,可以使用Assembly.Load访问Microsoft不支持的(仅限内部使用)“Microsoft.Phone.Media.Extended”DLL,然后使用反射访问相机并处理快门按下事件。不幸的是,此DLL在WP8中不存在,并已被其他媒体API所取代,这消除了该程序集的一些复杂性(无需反射),但也消除了其一些关键功能(例如,能够使用锁屏下的摄像头按钮)

在WP8中,您可以使用AudioVideoCaptureDevice.OpenAsync访问相机设备,但相机按钮事件已移动到名为CameraButtons的静态类。您可以使用这些事件覆盖应用程序中相机按钮的行为。请在此处了解更多关于它们的信息:

你可以,而且已经完成了。我举了一个已经上市的应用程序为例。问题是,订阅这篇文章中的事件不会阻止摄像头应用程序弹出。我想防止这种情况——就像手电筒-X一样。所以我可能遗漏了什么。你找到答案了吗?我也很好奇,是的。虽然我不记得到底是什么把戏。我看了一下代码,但我似乎所做的就是订阅相机按钮事件,按钮似乎被取消了。取消订阅-相机就会弹出。奇怪。也许这与WP7/WP8有关。试着为WP8项目这样做,看看它是否有效。如果不让我知道,我会发布源代码到我的应用程序。