2013-04-22 34 views
1

我正在開展NFC支付項目。當手機通過交易觸摸POS時,通常可以觸發Android應用程序。 Android應用程序如何被觸發?我們開發了一個小程序來處理通信並將APDU發送到電話。 類似於調度系統的標籤,但我找不到相同的機制。NFC Android應用程序觸發-java卡applet

回答

0

您的POS終端真的是Java卡?然後你想設置你的NFC技術過濾器來捕捉android.nfc.tech.ISODep意圖。據我所知,沒有辦法將其限制爲特定的Java Card applet AID:您的應用程序將針對手機附近的所有ISO 14443卡啓動。

+0

我的意思是,在交易過程中,pos會先與sim卡通信,然後android應用程序android.nfc.tech.ISODep用於標籤。不是嗎? – user2306683 2013-04-22 12:34:51

0

您需要某種智能卡來處理APDU。據我所知,在Android應用程序中沒有當前的API來處理APDU。原因在於Android操作系統不能爲銀行等應用提供足夠的安全性。 Google使用嵌入式智能卡運行Google電子錢包,移動運營商在SIM中提供相同的功能。

一旦你有權訪問智能卡(按照谷歌絕不會讓你安裝任何東西的方式),你必須編寫一個javacard應用程序來加載它。你最好的選擇是使用NFC功能的手機,卡片模擬指向SIM卡,並且測試SIM卡可以試用。

然後,從您的javacard應用程序中,您可以觸發Android應用程序來顯示一些漂亮的GUI。

+0

非常感謝你的回答,你知道javacard applet如何觸發android應用嗎? – user2306683 2013-04-25 09:48:27

+0

取決於安全元素。在嵌入式SE中,您需要將您的應用程序註冊爲AID_SELECTED意圖。在UICC上,應用程序需要使用ETSI 102 705 API。然後,根據手機,這將作爲TRANSACTION_DETECTED意圖反映在上層。檢查Android源代碼,GSMA和AFSCM規範。 – takumar 2013-05-03 15:52:26

+0

非常感謝,你給出了一個完全正確的迴應 – user2306683 2013-06-21 14:45:07