2

市场上有一款名为Flashlight-X的应用程序,它覆盖此按钮以允许用户打开/关闭手机的LED闪光灯。不管你做什么,按下该应用程序内的相机按钮都不会显示相机应用程序。你如何做到这一点?如何覆盖Windows Phone应用程序中的相机按钮?

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

+0

你有没有找到一个答案呢?我也很好奇。 – 2014-01-04 02:21:35

+0

是的。我不记得具体是什么。我看了一下代码,但我似乎只是订阅相机按钮事件,按钮似乎被取消。取消订阅 - 相机弹出。奇怪。也许它与WP7/WP8有关。尝试做一个WP8项目,看看它是否工作。如果不让我知道,我会将源代码发布到我的应用程序。 – 2014-01-04 19:52:33

回答

-1

您不能(不应该)覆盖特殊按钮(相机,后退,开始,音量调高,音量调低,搜索)的默认行为。

问候

+0

你可以,而且已经完成了。我举了一个已经上市的应用程序,并做了这个。问题是如何。 – 2013-02-10 13:12:44

2

MSDN上有描述该文章:使用Assembly.Load访问微软不支持(内部使用专用)“微软
How to access the hardware camera shutter button in Windows Phone

+1

订阅该文章中的事件不会阻止相机应用弹出。我想阻止 - 就像Flashlight-X一样。所以我可能会错过一些东西。 – 2013-02-10 19:44:18

1

在WP7,你可以这样做.Phone.Media.Extended“DLL,然后使用反射访问相机并处理快门按下的事件。不幸的是,这个DLL在WP8中并不存在,并已被其他媒体API所取代,这些API删除了该程序集的一些复杂性(不需要反射),而且其一些关键特性(例如,能够使用相机锁屏下的按钮)。

在WP8中,您可以使用AudioVideoCaptureDevice.OpenAsync访问相机设备,但相机按钮事件已移至名为CameraButtons的静态类。您可以使用这些事件来覆盖应用程序中相机按钮的行为。了解更多关于他们在这里: http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202963(v=vs.105).aspx

相关问题