NFC芯片FM17550 API

Chinese, Simplified

1.      概述

RFID芯片fm17550 具备常见Android NFc的主要功能,但Android系统默认不支持该芯片,Amlink平台提供了专门的API函数(非andorid标准接口)支持访问该芯片,在m100c/m101c上测试可用。本门介绍API函数的使用方法。

2.       API说明

API实现通过类SimpleNfcUtility来完成,常用接口如下:

2.1   public SimpleNfcUtility(Callback callback)

    类的构造函数,callback是检测到卡后到回调函数,可以在callback里进行卡的读写等操作。

2.2   public void start()

    该函数启动线程来检测卡是否存在,如果检测到卡,会调用上述的callback函数

2.3   public int getStatus()

    获取芯片的状态,返回值1表示芯片初始化成功,-1表示初始化失败。0表示未曾初始化

2.4   public void stopChecking()

    停止检测卡,结束卡操作后请确保调用此函数,否则线程会一直轮询,占用cpu资源

2.5  public boolean readBlock(byte address, byte[] buffer)

    读卡函数,参数addressblock线性地址,buffer为返回的数据,数组大小需等于16字节。

2.6 public boolean writeBlock(byte address, byte[] data)

写卡函数,参数addressblock线性地址,buffer为待写入的数据。

2.7 public static byte getBlockAddress(int sector, int block)

    地址转换函数,参数sector是扇区号,block是扇区的的块号。返回块的线性地址,readblockwriteblock函数用的块地址就是线性地址。

2.8  public boolean authenticateCard(byte authMode, byte address, byte[] key)

   卡鉴权函数,读写卡之前一般需先鉴权。

2.9 Callback 回调接口,定义如下:

    public interface Callback {
        oid execute(SimpleNfcUtility var1);
    }

2.10  public int getCardType()

    获取当前卡的类型,返回值0表示type A 卡,1表示type B卡,-1为未检测到卡

2.11  public byte[] getUid()

    获取卡的uid

2.12  public void enNextCheck(boolean en)

    当前卡操作结束后(即回调函数执行完后),是否继续轮询下一张卡,默认是否.

3.      lib

如下:

nfclib.aar.zip


4.      参考代码

Demo 代码请联系我们,谢谢。

 


文档中心

以上内容是否对您有帮助?