是否可以通过Android上的第三方应用读取NFC通信?

问题描述

我是Android的业余应用程序开发人员。带着这个问题,我想检查一下是否值得学习NFC。

我的目标是编写一个程序,该程序可以跟踪我在银行卡终端通过NFC用手机付款的银行卡付款。

在建议的标题中,我的问题是,是否可以“嗅探”我的银行应用和银行卡终端的NFC流量,并获取有关付款的一些信息。 进一步的问题,如果这不可能,是否有可能直接与我的bank-app通信并获取信息?

解决方法

简短的回答是“否”,您不能嗅探NFC流量。

通常,对于银行卡,它们被装入到主机操作系统无法访问的NFC控制器的安全元素中。

请参阅https://developer.android.com/guide/topics/connectivity/nfc/hce

上的说明

enter image description here

安全元素本身执行与NFC终端的通信,并且交易中完全不涉及Android应用程序。交易完成后,Android应用程序可以直接向安全元素查询交易状态并通知用户。

因此,手机上安装的任何银行应用程序都与基于NFC的交易无关。

尽管您的银行应用程序可以做到,但您也许可以在交易后查询安全元素。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...