【发布时间】:2011-10-03 13:44:52
【问题描述】:
当带有 NFC 的 android 设备在主屏幕时(当然是屏幕打开,否则 NFC 将无法工作),它是否充当 NFC 目标?如果有,它显示了什么数据?
换句话说,我可以为一部手机编写一个可以识别其他手机的应用程序(无需任何专有应用程序)吗?
【问题讨论】:
当带有 NFC 的 android 设备在主屏幕时(当然是屏幕打开,否则 NFC 将无法工作),它是否充当 NFC 目标?如果有,它显示了什么数据?
换句话说,我可以为一部手机编写一个可以识别其他手机的应用程序(无需任何专有应用程序)吗?
【问题讨论】:
您可以在所谓的 NFC p2p 模式下与其他 NFC 手机通信(参见示例here)。在这种情况下,必须在您的应用程序安装的两个设备上。
设备的另一个选项是充当 NFC 标签读取器/写入器 - 但这不是您的应用程序的选项,因为在这种模式下,手机会与无源 NFC 标签进行通信。
第三个选项是让手机在卡模拟模式下工作。在这种模式下,电话模式模拟非接触式智能卡。这对于当前的 Android OS 版本 API 是不可能的,并且无论如何它仅适用于例如银行和支付应用程序。
【讨论】:
见http://developer.android.com/reference/android/nfc/Tag.html
首先,如果有任何应用启用了前台调度,它们会收到通知。在您的情况下 - 它在主屏幕上,所以这不适用。 之后,它基本上会通过意图列表来查看是否有任何应用对任何标签感兴趣。
换句话说,当屏幕打开并位于主屏幕时,行为就像您让 QR 码扫描仪始终扫描 QR 码,以及扫描相应代码时的浏览器/电话联系人/任何应用程序 - 除了这种情况是关于 NFC 标签,而不是 QR 码。
手机永远不会充当标签(被动设备),除非在特定的支付模式(谷歌结账) - 也就是卡模拟模式。但是,API 并没有向开发者公开这种模式。
【讨论】: