我刚刚在iPhone 7上安装了第一个iOS 11测试版,我对尝试NFC感兴趣.在设置中没有任何关于它.我想知道是否有任何示例代码显示如何读取标记.任何人都可以在代码片段中展示如何使用Core NFC SDK吗?
新的2.3.3 SDK包括改进的NFC支持,我想编写一个依赖于此的应用程序.最后,我希望能够从同时进入该字段的多个标签中读取数据,但Android似乎仅在第一个进入该字段的标签上触发 - 后续的被忽略.
通过阅读我正在使用的标签(Mifare Classic)的NFC规范(ISO/IEC 14443-3),我应该能够向标签发送'halt'命令,这将导致它停止响应,并允许我要阅读该字段中的下一个标记.Android不直接在任何子TagTechnology类上支持halt命令,所以我尝试直接使用它发送它transceive(new byte[] {0x50, 0x00}).这引发了一个IOException消息'收发失败'.
不可否认,我正在从主线程中完成所有这些,我理解这是一个坏主意,但我只想尽可能轻松地测试这个概念.
是否可以同时与现场的多个标签进行通信?我究竟做错了什么?
我在docs中发现他们指的是SIMPLE-TLV和BER-TLV.我查看了大多数EMV和GP文档,但他们没有提到不同的内容.
谁能帮助我理解两者的区别?
我想在点击NFC标签时启动我的应用程序,即使手机锁定与谷歌钱包应用程序相同.
我尝试了以下方式:
1)按下电源按钮后点击NFC标签启动我的应用程序 - 错误:
05-23 22:00:22.949: D/NfcService(32443): EnableDisableDiscoveryTask: enable = false
05-23 22:00:22.964: D/NfcService(32443): NFC-C polling OFF
05-23 22:00:22.996: D/PhoneStatusBar(273): disable: < EXPAND icons alerts TICKER
system_info BACK* HOME* RECENT CLOCK* >
05-23 22:00:23.988: D/NfcService(32443): NFC-EE routing OFF
[10:33:22 AM IST]
Run Code Online (Sandbox Code Playgroud)
2)按下电源按钮后点击NFC标签,现在我可以看到锁定/解锁屏幕 - 错误:
05-23 22:03:59.714: D/NfcService(32443): EnableDisableDiscoveryTask: enable = true
05-23 22:03:59.730: D/NfcService(32443): NFC-EE routing OFF
05-23 22:04:03.238: D/NfcService(32443): NFC-C polling ON
Run Code Online (Sandbox Code Playgroud)
如果我解锁屏幕并点击NFC标签,一切正常
当电话被锁定时,如何处理电源按钮和锁定/解锁屏幕以启动我的应用程序?
尝试在Embarcadero XE5中使用NFC在Android上运行.从以下内容开始:https://forums.embarcadero.com/thread.jspa?threadID = 97574 ,它们似乎正在运行.现在想注册NFC Intent的回调
Java方法:
1. Register current activity as a listener
...
2. Receive Intent
@Override
protected void onNewIntent(Intent intent) {
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
NdefMessage[] msgs = NfcUtils.getNdefMessages(intent);
}
}
Run Code Online (Sandbox Code Playgroud)
资料来源:http://www.jessechen.net/blog/how-to-nfc-on-the-android-platform/
德尔福方法(我想象):
1. Define methods available in Java interface
Run Code Online (Sandbox Code Playgroud)
来源:https://forums.embarcadero.com/thread.jspa?messageID = 634212
Question:
How do I register a listener for NFC intent messages and
how do I eventually get messages?
Run Code Online (Sandbox Code Playgroud)
我的猜测是调用enableForegroundDispatch方法.定义如下:
procedure enableForegroundDispatch; cddcl;
Run Code Online (Sandbox Code Playgroud)
从Android API调用它 …
我需要包含NFC读卡器以读取关联ID,以便为触摸屏中显示的Web应用程序验证用户身份.
是否可以将SCM NFC读卡器模块用于基于Web的应用程序.
为此,我们是否可以在客户端或服务器端包含任何插件?
提前致谢.
有没有办法在没有NFC手机的情况下开发NFC标签读/写应用程序?有没有办法创建一个支持NFC的AVD?我搜索过并发现Open NFC存在,但我现在找不到很多关于它的信息.它已经过时了吗?有没有其他方法可以实现它?
有没有人能够将nexus进入卡仿真模式?
最新的Android版本似乎还不支持这个.
我经常被问及标准,NFC是基于.我在下面的文字中总结了我的知识.我希望它可以成为这些问题的答案.请随意通过发表评论和回复来纠正它 - 我会将其包含在我的文本中.
由于NFC基于RFID,因此通常将其视为RFID扩展,其形式或子集.这是正确的,因为NFC中采用了RFID的许多现有标准.物理层的NFC基础标准是NFCIP-1(ISO 18092或ECMA 340) - 它标准化了两个NFC设备之间的通信.NFCIP-1中使用的RF层直接继承自较旧的ISO标准ISO 14443(接近非接触式卡),更具体地说是该标准中定义的A型协议,以及日本JIS 6319-4(Sony FeliCa所基于的,也是由NFC Forum Type 3 Tag标准使用).其结果是NFC设备(读取器/写入器模式)与ISO 14443智能卡兼容.
NFCIP-1新定义了活动模式.在这种模式中,两个通信NFC设备必须具有用于生成RF场的自己的电源(即,两个移动设备或移动设备和NFC读取器),并且两者都可以是通信的发起者.
第二个主要标准是NFCIP-2(ISO 21481或ECMA 352),它定义了在13.56Mhz相同频率下工作的不同非接触技术之间的选择机制.它旨在由支持ISO 18092,ISO 14443通信的移动设备使用,但它们也兼容其他非接触式标准,如ISO 15693.
此外,NFC论坛还发布了其他几个标准,如NDEF(数据格式)RTD(用于各种目的的记录类型),以及NFC切换的建议,特别是NFC用于蓝牙配对的建议.Wi-Fi联盟将NFC作为配置家庭网络的四种方式之一.
NFC论坛还定义了在对等通信中在NFCIP-1之上使用的LLCP协议.在LLCP顶部的对等通信中使用的另一种协议是SNEP(简单NDEF交换协议),它允许交换类似于标签操作规范的NDEF消息.
NFC设备还可以在卡仿真模式下工作,这使他们可以假装它们是被动非接触式智能卡.这可能是最重要的模式,因为它允许移动电话充当非接触式支付卡.NFC控制器与卡仿真模式中使用的安全元件(用于存储安全应用和敏感数据的元件)互连有几个标准 - SWP(尚未标准 - 参见ETSI TS 102 613 V.9.1.0)和NFC- WI(ECMA-373).
我不是100%肯定上面的文字正确性,所以我的问题是 - 它是否正确?你有什么要补充的吗?
BR STeN
添加了NFC家伙的评论