回答
我不確定您的需求是什麼,我同意馬特的觀察。
在線條之間閱讀,我感覺你正在開發一款遊戲,如果有硬件鍵盤,可以通過它更好地控制遊戲。
我的建議,如果是這種情況,並承認馬特的下注,是有一個物理鍵盤模式的遊戲,用戶可以通過您在應用程序中提供的設置功能激活。
我想對於WP7真相與和解委員會的要求是一個應用程序或遊戲不能依賴於物理鍵盤,即一個功能,它與屏幕上的鍵盤工作。
Peter Torr on the WP7 forums已經表示操作系統會響應正在滑出的硬件鍵盤,例如,將隱藏屏幕上的鍵盤,但該事件不可用於第三方開發者。
我已經快速搜索MSDN,特別是GamerServices
namespace,並且找不到任何可以檢測硬件功能的方法。也許看看GamePad.GetCapabilities
,不知道你是否有任何有用的信息。
問題:我不知道目前有硬件鍵盤可用的設備?如何測試這個?
沒有辦法檢測手機是否有物理鍵盤。對於應用程序,物理鍵盤和虛擬鍵盤是相同的。
所有設備都會有一個物理後退按鈕,您必須在遊戲中正確處理這個按鈕。 (即在適當的時間顯示菜單)。
關於硬件測試的討論。有很多不同的硬件設備用於早期測試。一些(來自三星)有物理鍵盤。
問題是虛擬知識庫可以在你想要的時候處理(你決定它出現在XNA中),但不是物理知識庫,因爲它應該是全時間可訪問的。 然後,我認爲手機的物理KB應該像使用KeyboardState的PC KB一樣處理。 或者,也許物理知識庫僅在我們要求處理虛擬知識時被激活和處理? – kite 2010-09-03 08:21:55
- 1. 如何在應用程序運行時禁用手機鍵盤?
- 2. 如何知道手機應用程序是否關閉
- 3. Flex手機:如何知道它是第一次運行應用程序
- 4. 是否有任何方法知道應用程序是否第一次運行
- 5. 如何知道我是在手機上運行我的網站還是作爲移動應用程序運行?
- 6. 如何知道是否有任何應用程序正在運行?
- 7. 如何從我的應用程序打開手機的鍵盤
- 8. 我如何知道我的Android應用程序是否在後臺運行?
- 9. 如何知道我的應用程序是否在Bluestacks上運行?
- 10. 如何知道我的應用程序是否在JBoss服務器上運行?
- 11. 如何知道我的Silverlight應用程序是否在本地運行?
- 12. QML - 如何知道孩子是否有鍵盤焦點
- 13. 如何知道訪客用戶是否正在運行應用程序 - c#?
- 14. 可以單聲道非XNA手機應用程序到Windows 8手機
- 15. 如何知道進程是否是應用程序 - Windows
- 16. 如何知道Windows Phone應用程序是否第一次運行
- 17. 如何知道某個應用程序當前是否正在運行?
- 18. 在android應用程序中,如何知道應用程序是否是第一次運行時?
- 19. 如何檢查手機上是否有應用程序?
- 20. 如何檢測iOS應用程序是否在越獄手機上運行?
- 21. XNA應用程序是否在Windows RT上運行?
- 22. 如何知道它是否真的是手機
- 23. 如何知道反應本機應用程序是否轉到後臺?
- 24. 如何知道程序是從USB還是固定硬盤運行?
- 25. 如何知道應用程序池是否已遠程啓動?
- 26. 是否有可能在手機上直接運行角度js應用程序
- 27. 嵌入式辦公應用程序 - 如何知道應用程序是否正在運行或嵌入對象
- 28. 當我執行我的Android應用程序,是否有可能知道多少內存佔用運行程序
- 29. 如何知道我的android應用程序在reciver中運行?
- 30. Facebook - 如何知道用戶是否使用應用程序?
據我的老闆介紹,TRC提到如果有任何物理鍵盤,即使我們已經處理了屏幕上的鍵盤,我們也必須能夠處理它。 我不知道他們是如何測試它的,可能MS已經發布了一些帶物理鍵盤的手機? 我會看看GetCapabilities,可能會提示。 謝謝 – kite 2010-09-02 14:48:30
@Kite:WP7 TRC不斷在整個CTP中進行修改,直到最近才變得穩定,例如,硬件後退按鈕的行爲發生了多次變化。我將在明天與我們的QA一起檢查最新的TRC修訂版 - 我希望看到此要求。 AFAIK目前還沒有帶有物理鍵盤的設備,即使在微軟也是如此。然而,由於WP7今天是RTM,這可能會迅速出現。 – Dennis 2010-09-02 15:08:44
@Kite:在XNA的最新TRC中確認,不需要處理硬件鍵盤。 – Dennis 2010-09-03 09:21:00