如何识别?

通过NFC模块的Serial Number即UID,用户访问权限为R只读,每颗NFC芯片独有序列号(UID),在出厂时写入,用户不能改写。

Android如何实现?

  • 通过Intent获取UID
    /*** 读取nfcUID 返回String类型大写的UID* * 这个测试顺便加上的,下面用不到,做个笔记~~* */public static String readUID(Intent intent) throws UnsupportedEncodingException {Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);byte[] uid = tagFromIntent != null ? tagFromIntent.getId() : null;return HexUtil.encodeHexStr(uid, false);}/*** 读取nfcUID 返回byte[]数组* */public static byte[] readUID(Intent intent) throws UnsupportedEncodingException {Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);return tagFromIntent.getId();}

HexUtil工具类:

public class HexUtil {/*** 用于建立十六进制字符的输出的小写字符数组*/private static final char[] DIGITS_LOWER = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9','a', 'b', 'c', 'd', 'e', 'f'};/*** 用于建立十六进制字符的输出的大写字符数组*/private static final char[] DIGITS_UPPER = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9','A', 'B', 'C', 'D', 'E', 'F'};/*** 将字节数组转换为十六进制字符数组** @param data     byte[]* @param toDigits 用于控制输出的char[]* @return 十六进制char[]*/protected static char[] encodeHex(byte[] data, char[] toDigits) {int l = data.length;char[] out = new char[l << 1];// two characters form the hex value.for (int i = 0, j = 0; i < l; i++) {out[j++] = toDigits[(0xF0 & data[i]) >>> 4];out[j++] = toDigits[0x0F & data[i]];}return out;}/*** 将字节数组转换为十六进制字符串** @param data        byte[]* @param toLowerCase <code>true</code> 传换成小写格式 , <code>false</code> 传换成大写格式* @return 十六进制String*/public static String encodeHexStr(byte[] data, boolean toLowerCase) {return encodeHexStr(data, toLowerCase ? DIGITS_LOWER : DIGITS_UPPER);}/*** 将字节数组转换为十六进制字符串** @param data     byte[]* @param toDigits 用于控制输出的char[]* @return 十六进制String*/protected static String encodeHexStr(byte[] data, char[] toDigits) {if (data == null) {return "";}return new String(encodeHex(data, toDigits));}
}
  • 通过UID去查询厂商
public class Manufacturer {private static final String MNF_UNKNOWN = "Unknown Manufacture";public static final Map<Byte, String> ManufacturerName;static {ManufacturerName = new HashMap<>();ManufacturerName.put((byte)1, "Motorola");ManufacturerName.put((byte)2, "STMicroelectronics SA ");ManufacturerName.put((byte)3, "Hitachi, Ltd");ManufacturerName.put((byte)4, "NXP Semiconductors");ManufacturerName.put((byte)5, "Infineon Technologies AG ");ManufacturerName.put((byte)6, "Cylink");ManufacturerName.put((byte)7, "Texas Instrument");ManufacturerName.put((byte)8, "Fujitsu Limited");ManufacturerName.put((byte)9, "Matsushita Electronics Corporation, Semiconductor Company");ManufacturerName.put((byte)10, "NEC");ManufacturerName.put((byte)11, "Oki Electric Industry Co. Ltd");ManufacturerName.put((byte)12, "Toshiba Corp");ManufacturerName.put((byte)13, "Mitsubishi Electric Corp");ManufacturerName.put((byte)14, "Samsung Electronics Co. Ltd");ManufacturerName.put((byte)15, "Hynix");ManufacturerName.put((byte)16, "LG-Semiconductors Co. Ltd");ManufacturerName.put((byte)17, "Emosyn-EM Microelectronics");ManufacturerName.put((byte)18, "INSIDE Technology");ManufacturerName.put((byte)19, "ORGA Kartensysteme GmbH");ManufacturerName.put((byte)20, "SHARP Corporation");ManufacturerName.put((byte)21, "ATMEL");ManufacturerName.put((byte)22, "EM Microelectronic-Marin SA");ManufacturerName.put((byte)23, "SMARTRAC TECHNOLOGY GmbH ");ManufacturerName.put((byte)24, "ZMD AG");ManufacturerName.put((byte)25, "XICOR, Inc");ManufacturerName.put((byte)26, "Sony Corporation");ManufacturerName.put((byte)27, "Malaysia Microelectronic Solutions Sdn. Bhd");ManufacturerName.put((byte)28, "Emosyn");ManufacturerName.put((byte)29, "Shanghai Fudan Microelectronics Co. Ltd");ManufacturerName.put((byte)30, "Magellan Technology Pty Limited");ManufacturerName.put((byte)31, "Melexis NV BO");ManufacturerName.put((byte)32, "Renesas Technology Corp");ManufacturerName.put((byte)33, "TAGSYS");ManufacturerName.put((byte)34, "Transcore");ManufacturerName.put((byte)35, "Shanghai belling corp., ltd");ManufacturerName.put((byte)36, "Masktech Germany Gmbh");ManufacturerName.put((byte)37, "Innovision Research and Technology Plc");ManufacturerName.put((byte)38, "Hitachi ULSI Systems Co., Ltd");ManufacturerName.put((byte)39, "Yubico AB ");ManufacturerName.put((byte)40, "Ricoh");ManufacturerName.put((byte)41, "ASK");ManufacturerName.put((byte)42, "Unicore Microsystems, LLC");ManufacturerName.put((byte)43, "Dallas Semiconductor/Maxim");ManufacturerName.put((byte)44, "Impinj, Inc");ManufacturerName.put((byte)45, "RightPlug Alliance");ManufacturerName.put((byte)46, "Broadcom Corporation");ManufacturerName.put((byte)47, "MStar Semiconductor, Inc");ManufacturerName.put((byte)48, "BeeDar Technology Inc");ManufacturerName.put((byte)49, "RFIDsec");ManufacturerName.put((byte)50, "Schweizer Electronic AG ");ManufacturerName.put((byte)51, "AMIC Technology Corp");ManufacturerName.put((byte)52, "Mikron JSC");ManufacturerName.put((byte)53, "Fraunhofer Institute for Photonic Microsystems");ManufacturerName.put((byte)54, "IDS Microchip AG");ManufacturerName.put((byte)55, "Kovio");ManufacturerName.put((byte)56, "HMT Microelectronic Ltd");ManufacturerName.put((byte)57, "Silicon Craft Technology");ManufacturerName.put((byte)58, "Advanced Film Device Inc");ManufacturerName.put((byte)59, "Nitecrest Ltd");ManufacturerName.put((byte)60, "Verayo Inc");ManufacturerName.put((byte)61, "HID Global");ManufacturerName.put((byte)62, "Productivity Engineering Gmbh");ManufacturerName.put((byte)63, "Austriamicrosystems AG (reserved)");ManufacturerName.put((byte)64, "Gemalto SA");ManufacturerName.put((byte)65, "Renesas Electronics Corporation");ManufacturerName.put((byte)66, "3Alogics Inc");ManufacturerName.put((byte)67, "Top TroniQ Asia Limited");ManufacturerName.put((byte)68, "Gentag Inc (USA)");ManufacturerName.put((byte)69, "Invengo Information Technology Co.Ltd ");ManufacturerName.put((byte)70, "Guangzhou Sysur Microelectronics, Inc");ManufacturerName.put((byte)71, "CEITEC S.A");ManufacturerName.put((byte)72, "Shanghai Quanray Electronics Co. Ltd");ManufacturerName.put((byte)73, "MediaTek Inc");ManufacturerName.put((byte)74, "Angstrem PJSC");ManufacturerName.put((byte)75, "Celisic Semiconductor (Hong Kong) Limited");ManufacturerName.put((byte)76, "LEGIC Identsystems AG");ManufacturerName.put((byte)77, "Balluff GmbH");ManufacturerName.put((byte)78, "Oberthur Technologies ");ManufacturerName.put((byte)79, "Silterra Malaysia Sdn. Bhd");ManufacturerName.put((byte)80, "DELTA Danish Electronics, Light & Acoustics ");ManufacturerName.put((byte)81, "Giesecke & Devrient GmbH");ManufacturerName.put((byte)82, "Shenzhen China Vision Microelectronics Co., Ltd");ManufacturerName.put((byte)83, "Shanghai Feiju Microelectronics Co. Ltd");ManufacturerName.put((byte)84, "Intel Corporation");ManufacturerName.put((byte)85, "Microsensys GmbH");ManufacturerName.put((byte)86, "Sonix Technology Co., Ltd");ManufacturerName.put((byte)87, "Qualcomm Technologies Inc");ManufacturerName.put((byte)88, "Realtek Semiconductor Corp");ManufacturerName.put((byte)89, "Freevision Technologies Co. Ltd");ManufacturerName.put((byte)90, "Giantec Semiconductor Inc");ManufacturerName.put((byte)91, "JSC Angstrem-T");ManufacturerName.put((byte)92, "STARCHIP");ManufacturerName.put((byte)93, "SPIRTECH");ManufacturerName.put((byte)94, "GANTNER Electronic GmbH");ManufacturerName.put((byte)95, "Nordic Semiconductor");ManufacturerName.put((byte)96, "Verisiti Inc");ManufacturerName.put((byte)97, "Wearlinks Technology Inc");ManufacturerName.put((byte)98, "Userstar Information Systems Co., Ltd");ManufacturerName.put((byte)99, "Pragmatic Printing Ltd");ManufacturerName.put((byte)100, "Associado Laboratde Sistemas IntegrTecnolLSI-TEC");ManufacturerName.put((byte)101, "Tendyron Corporation");ManufacturerName.put((byte)102, "MUTO Smart Co., Ltd");ManufacturerName.put((byte)103, "ON Semiconductor");ManufacturerName.put((byte)104, "TÜBİTAK BİLGEM");ManufacturerName.put((byte)105, "Huada Semiconductor Co., Ltd");ManufacturerName.put((byte)106, "SEVENEY");ManufacturerName.put((byte)107, "ISSM");ManufacturerName.put((byte)108, "Wisesec Ltd");ManufacturerName.put((byte)126, "Holtek");ManufacturerName.put((byte)-112, "Shanghai Fudan Microelectronics Co. Ltd");}/***  通过UID/Serial Number获取芯片制造商名字* @param paramArrayOfByte UID/Serial Number* @return 制造商名字*/public static String getManufacturerByUid(byte[] paramArrayOfByte) {if (paramArrayOfByte != null)try {if (paramArrayOfByte.length == 8) {byte[] arrayOfByte = new byte[3];System.arraycopy(paramArrayOfByte, paramArrayOfByte.length - 3, arrayOfByte, 0, 3);return Arrays.equals(arrayOfByte, new byte[] { 29, 4, -32 })? ManufacturerName.get((byte)29) : (Arrays.equals(arrayOfByte, new byte[] { -95, 4, -32 })? ManufacturerName.get((byte)29) : (Arrays.equals(arrayOfByte, new byte[] { -94, 4, -32 })? ManufacturerName.get((byte)29) : ManufacturerName.get(paramArrayOfByte[6])));}if (paramArrayOfByte.length == 7)return ManufacturerName.get(paramArrayOfByte[0]);} catch (Exception exception) {exception.printStackTrace();}return MNF_UNKNOWN;}

非常感谢你能看到这里,如果能够帮助到你是我的荣幸!

Android实现NFC芯片制造商识别相关推荐

  1. 最全NFC芯片技术厂商介绍及应用介绍

    最全NFC芯片技术厂商介绍及应用介绍 NFC由非接触式射频识别(RFID)演变而来,由飞利浦半导体(现恩智浦半导体公司).诺基亚和索尼共同研制开发,其基础是RFID及互连技术.目前这项技术在日韩被广泛 ...

  2. 关于HCE——Android手机NFC模拟刷卡成果和心得(上)

    关于HCE--Android手机NFC模拟刷卡成果和心得 一.前言 在最近,开始研究了手机模拟NFC刷卡的一些内容,想是自己实现一次手机模拟刷卡. NFC大家应该都了解,这两年的安卓手机基本都是支持了 ...

  3. Android使用NFC模拟M卡实现 (一)

    Android使用NFC模拟M卡实现 (一) Android使用NFC模拟M卡实现 (二) Android使用NFC模拟M卡实现 (三) 在百度找一遍,没有一篇,讲的比较通俗易懂的文件.讲解Andro ...

  4. Android开发——NFC标签读写

    Android开发----NFC标签读写 前言 最近因为项目需要,特意学习了NFC的Android开发.加上之前并没有系统地学习过Android开发知识,起手比较困难,搞了半天才算一知半解.怎么办呢? ...

  5. android使用NFC的读模式

    NFC读模式工作流程:NFC芯片轮询执行读模式.点对点和卡模式,当把卡片靠近手机的NFC天线的时候,NFC会识别到卡,然后 把卡对象装到intent里面,并发送广播NfcAdapter.ACTION_ ...

  6. android 文件mimetype_【Android】NFC课件

    NFC课件 1.NFC基础知识 具体测试过程 一.NFC基础知识 1.NFC是什么 NFC,即Near Field Communication,近距离无线通讯技术,是一种短距离的(通常<=4cm ...

  7. Android使用NFC读卡实现 (一)

    Android使用NFC读卡实现 (一) Android使用NFC读卡实现 (二) 这是一篇写的用带NFC芯片的手机读卡的过程. 首先是创建Android工程.

  8. Android之NFC

    NFC简介: Near Field Communication 近场通信,是一种数据传输技术. 与wifi.蓝牙.红外线等数据传输技术的一个主要差异就是有效距离一般不能超过4cm. NFC支持3种工作 ...

  9. NFC芯片群读应用,RFID娱乐筹码、棋子FPC定制标签

    NFC芯片群读应用,RFID娱乐筹码.棋子FPC定制标签 国外娱乐公司的筹码使用RFID方案 RFID芯片筹码介绍: 频率:13.56MHz 协议:15693/定制14443A 尺寸:φ40mm*3m ...

  10. Android使用NFC模拟M卡实现 (二)

    Android使用NFC模拟M卡实现 (一) Android使用NFC模拟M卡实现 (二) Android使用NFC模拟M卡实现 (三) 前几天写的第一篇关于NFC的官方文档的翻译,今天才更新第二篇. ...

最新文章

  1. 陈老师Linux内核进程管理导学
  2. cmd小游戏编程100例_学宏程序编程,这些知识必不可少!
  3. M2 Scrum 12.05
  4. SAP UI5 初学者教程之九 - 创建第一个 Component 的试读版
  5. php7.1 aes 加密解密,PHP7.1中AES加密解密方法 mcrypt_module_open()替换方案
  6. ASP.NET Ajax 控件ToggleButton,SliderExtender,ResizableControl 学习笔记
  7. Asterisk权威指南/第二章 Asterisk架构
  8. Opencv和C++实现canny边缘检测
  9. sklearn朴素贝叶斯分类器_python机器学习:方法链和朴素贝叶斯分类器
  10. KODExplorer可道云-资源管理器(芒果云)
  11. LNMP架构介绍与搭建
  12. 第三方框架-纯代码布局:Masonry的简单使用
  13. GPU-Z:显卡体质、显卡各传感器实时状态的查看
  14. 51nod-1358:浮波那契
  15. 《Nature》《Science》封面发表的AI相关文章
  16. 【OpenGL ES】着色语言GLSL
  17. html5---拖放demo----拖放图片
  18. 怎么复制window上的内容到linux,怎样将文件从window系统复制到远程linux系统上
  19. TI mmWave radar sensors Tutorial 笔记 | Module 4 : Some System Design Topics
  20. 【数据结构】(森林)以孩子兄弟链表为存储结构,请设计递归算法求树的深度

热门文章

  1. 软件需求包括3个不同的层次――业务需求、用户需求和功能需求
  2. c语言录制,C语言中如何录制屏幕
  3. 3D Style Transfer
  4. 搭建网站服务器必须开443端口,记录解决网站443端口不通的问题(启动HTTP或者更换域名)...
  5. 系统全面的认识Solr
  6. 加ing形式的单词有哪些_【动词ing变化规律1、直接 ing2、以辅音字母 y结尾的单词,直接 in...-动词ing形式变化规则-英语-贾翘教同学...
  7. HiveQL整理总结
  8. 数据库之查询表product——统计所有库存商品的总价值
  9. js 迅雷 批量下载
  10. 硬件负载均衡设备介绍