是否可以在 Android 上读取与第三方应用程序的 NFC 通信?

Posted

技术标签:

【中文标题】是否可以在 Android 上读取与第三方应用程序的 NFC 通信?【英文标题】:Is it possible to read NFC communication with a third party app on Android? 【发布时间】:2021-02-15 01:13:02 【问题描述】:

我是一名爱好 android 应用程序开发人员。带着这个问题,我想看看是否值得学习 NFC。

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

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

【问题讨论】:

【参考方案1】:

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

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

见https://developer.android.com/guide/topics/connectivity/nfc/hce上的描述

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

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

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

【讨论】:

以上是关于是否可以在 Android 上读取与第三方应用程序的 NFC 通信?的主要内容,如果未能解决你的问题,请参考以下文章

Android是否可以实现静默安装模式

将激光测距仪(Bosch Disto GLM 50 C)与智能手机(Android Studio)连接

Android 11 (R) 文件路径访问

Google+ 在自己的 Android 应用中推送通知

有人使用 ACR1222L android 库吗?

是否可以将 Android 应用程序嵌入到预先存在的应用程序中?