2015-08-29 54 views
1

我正在開發手機錢包應用程序,並遇到屏幕鎖定時無法付款的問題。雖然我將手機放在POS終端上,但HostApduService不起作用。當屏幕鎖定時沒有密碼或密碼/圖案時,您是否知道Google錢包付款?當屏幕鎖定時HCE服務是否工作?

回答

2

在您在AndroidManifest.xml文件中引用的APDU配置xml文件中,將屬性「requireDeviceUnlock」設置爲「false」。看到它在這個例子:https://github.com/handstandsam/HandstandPay/blob/master/app/src/main/res/xml/apdu_config.xml

示例項目:https://github.com/handstandsam/HandstandPay

+0

感謝您的回答。但問題是,根據https://developer.android.com/guide/topics/connectivity/nfc/hce.html中的Android官方文檔,「當前的Android實現在屏幕上完全關閉NFC控制器和應用程序處理器的設備已關閉,因此當屏幕關閉時,HCE服務將無法工作。「所以HCE服務工作,但設備的NFC控制器沒有。你有測試嗎? – ondermerol

+0

將「requireDeviceUnlock」設置爲「false」時,只發出嗶聲。它不會提示我輸入屏幕的引腳並鎖定。未調用processCommandApdu方法。如果我知道發出「嘟嘟」聲的代碼的位置,我可以打開屏幕並顯示用戶解鎖屏幕。你能幫我嗎? – ondermerol

+0

如果屏幕未打開,則NFC芯片不通電。這只是一個糟糕的Android用戶體驗,但它是操作系統的工作原理。這就是Android文檔所說的(屏蔽用例)。您詢問屏幕上是否顯示鎖定屏幕(但手機仍處於鎖定狀態),您仍然如何使用「HostApduService」發送命令,該答案是「requireDeviceUnlock」字段。除非您有Android的改裝版本或其他東西,否則NFC屏幕不會顯示任何內容。 –

相關問題