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

相關問題