1.0.1 • Published 7 years ago

react-android-nfc v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
7 years ago

NFC

Description

  • react-android-nfc模块是对android原生NFC相关调用的封装,使得在react-native上直接使用android手机的nfc相关功能。

Version 1.0.1

  • Feature

    • 手机NFC状态管理
    • NFC标签的前台调度系统
    • 读取NFC标签基本信息
    • 读写NDEF格式标签
  • 使用

  1. 安装
npm i react-android-nfc
  1. 连接依赖
react-native link react-android-nfc
  1. 导入模块
import {NfcAdapter, NdefRecord } from 'react-android-nfc'
  • API

NfcAdapter

  1. 常量
常量名类型说明
isAvailableboolean支持NFC的手机值为true,否则为false使用NfcAdapter模块的函数方法前必须使用该常量判断手机是否具备NFC功能
STATE_ONstring-手机NFC开关状态常量
STATE_OFFstring -手机NFC开关状态常量
STATE_TURNING_ONstring-手机NFC开关状态常量
STATE_TURNING_OFFstring-手机NFC开关状态常量
FILTER_NDEF_DISCOVEREDstring-标签感应过滤器常量,优先级最高
FILTER_TECH_DISCOVEREDstring-标签感应过滤器常量,优先级次高
FILTER_TAG_DISCOVERED  string-标签感应过滤器常量,优先级最低
TECH_NDEFstring-nfc技术常量,NDEF技术标准
TECH_NDEF_FORMATABLEstring-标签技术常量,NdefFormatable技术标准
TECH_NFC_Astring-nfc技术常量,NfcA技术标准
TECH_NFC_Bstring-nfc技术常量,NfcB技术标准
TECH_NFC_Fstring-nfc技术常量,NfcF技术标准
TECH_NFC_Vstring-nfc技术常量,NfcV技术标准
TECH_ISO_DEPstring-nfc技术常量,IsoDep技术标准
TECH_MIFARE_CLASSICstring-nfc技术常量,MifareClassic技术标准
TECH_MIFARE_ULTRALIGHTstring-nfc技术常量,MifareUltralight技术标准
  1. 函数
函数参数返回值说明
isEnable(fun)fun:(result)=> {...}-result为手机nfc开关当前是否打开
addStateListener(fun)fun:(state) => {...}DeviceEventListener对象state为手机nfc状态,可为STATE_ON,STATE_OFF,STATE_TURNING_ON,STATE_TURNING_OFF
removeStateListener(listener)listener:即为addStateListener的参数对象fun-该函数通常用于组件UnMount时移除listener,以防止组件卸载后仍监听事件; 代替该函数的更好做法是利用addStateListener返回的DeviceEventListener对象,调用DeviceEventListener.remove()方法
enableForegroundDispatchDefault()--开启nfc前台分派系统,即应用处于前台时优先响应nfc标签,默认响应任何类型的标签
enableForegroundDispatch(filters:string[],techs:[string[],string[],...])filters:string[],标签感应过滤器数组,元素值为标签感应过滤器常量;   techs:[string[],string[],...],nfc技术二维数组,元素值为nfc技术常量-若filters和techs为null,则作用与enableForegroundDispatchDefault一致;  techs在过滤规则中,一维的数组间为或(||)关系,二维的字符串元素间为与(&&)关系
disableForegroundDispatch()--关闭nfc前台分派系统
addTagDetectedListener(fun)fun:(tag) => {...}DeviceEventListener对象tag为标签信息的JSON对象
removeTagDetectedListener(listener)listener:即为addTagDetectedListener的参数对象fun-该函数通常用于组件UnMount时移除listener,以防止组件卸载后仍监听事件; 代替该函数的更好做法是利用addTagDetectedListener返回的DeviceEventListener对象,调用DeviceEventListener.remove()方法
readTagInfo()--与addTagDetectedListener配合使用,使读取标签详细信息,若不调用该函数,则不会对标签数据进行解析,回调函数fun的tag参数默认只包含id信息
ignoreTagInfo()--作用也readTagInfo相反
writeNdefMessage(message:object[])message:object[],NdefRecord对象数组,数组元素可使用NdefRecord的辅助API创建Promise对象该函数将创建新的写数据任务进程,当感应到新的标签则开始进程,写入成功则调用Promise.resolve(true);若写进程出现异常则调用Promise.reject(e),其中e为包含了错误信息的对象
cancelWriteOption()--取消已创建的写数据任务

NdefRecord

  1. 函数
函数参数返回值说明
createText(text:string)text:文本字符串NdefRecord对象创建文本记录
createUri(uri:string)uri:uri字符串NdefRecord对象  创建Uri记录
createExternal(domain:string,type:string,payload:string)domain:领域名,type:类型名,payload:有效负载NdefRecord对象创建扩展类型记录
createAAR(appName:string)appName:app的完整名NdefRecord对象  创建Android Application Record记录
createMime(type:string, payload:string)type:Mime类型名,payload:有效负载NdefRecord对象  创建MIME类型记录