首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NFCF技术的Android NFC收发器()(索尼Felica)

使用NFCF技术的Android NFC收发器()(索尼Felica)
EN

Stack Overflow用户
提问于 2013-08-01 09:47:51
回答 2查看 5.8K关注 0票数 4

我试图用NFC将我的Android平板电脑连接到设备上,并从设备中检索数据。

我试过什么

按照1.01.pdf中的说明发送命令(第4章)

用于接受()的android文档提到了

应用程序不得将SoD (长度)或EoD (CRC)附加到有效载荷中,它将自动计算

因此,我尝试了与不使用CRC,有和没有数据包数据长度,但文件不清楚我是否应该保留它空白或我是否应该只是不包括它。

我采取的另一种方法是遵循1.1.pdf第2.2章中的图表(同步代码后面跟着请求),但结果是相同的。

问题

我不知道要将什么命令(字节)作为参数发送到transceive()方法中。

问题

有没有人:

  • 有一个NFCF通信的例子吗?
  • 有关于应该使用的协议/命令的更多信息吗?
  • 知道NFC标记是否包含命令所需的字节吗?

将抛出一个IO异常“标记丢失”。

我相信这是因为我的命令字节不正确(我使用了一系列不同的命令)。

最后一个注意事项(我也厌倦了把收信器()放在一个时间循环中,每次都关闭和连接通信)。

代码语言:javascript
复制
    String action = intent.getAction();

    if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)) {

        Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

        NfcF nfcf = NfcF.get(tag);

        nfcf.connect();

        byte[] command = new byte[] { (byte) 0x00, (byte) 0x00};

        byte[] response =  nfcf.transceive(command);

     }

如果您的回答需要更多的信息,请评论。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-01 18:54:39

下面是一个示例函数,说明如何发送"raw“命令,给定目标设备(标记) IDm、FeliCa命令字节和有效载荷:

代码语言:javascript
复制
byte[] rawCmd(NfcF nfcF, byte[] IDm, byte felicaCmd, byte[] payload) throws IOException {
    final int len = payload != null ? payload.length : 0;

    final byte[] cmd = new byte[10 + len];
    cmd[0] = (byte) (10 + len);
    cmd[1] = felicaCmd;
    System.arraycopy(IDm, 0, cmd, 2, IDm.length);

    if (payload != null) {
        System.arraycopy(payload, 0, cmd, 10, payload.length);
    }

    nfcF.transceive(cmd);
}
票数 3
EN

Stack Overflow用户

发布于 2013-08-09 07:50:02

我希望这能对未来的人有所帮助。

代码语言:javascript
复制
byte[] transceiveProtocol(NfcF nfcF, int systemCode, int requestCode, int timeSlot) {

byte d0 = 6;
byte d1 = 0;
byte d2 = (byte)(systemCode>> 8 & 0xFF);
byte d3 = (byte)(systemCode>> 0 & 0xFF);
byte d4 = (byte)(requestCode & 0xFF);
byte d5 = (byte)(timeSlot & 0xFF);

byte[] command = { d0, d1, d2, d3, d4, d5 };

return nfcF.transceive(command);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17990618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档