初始化
if ((null != mNfcAdapter) && !mNfcAdapter.isEnabled()) {
Toast.makeText(this, "请在系统设置中先启用NFC功能", Toast.LENGTH_SHORT).show();
startActivity(new Intent(Settings.ACTION_NFC_SETTINGS));
finish();
return;
}
mNfcPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this,
getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
mNFCReaderHelper = new NFCReaderHelper(this, uiHandler, appKey,
appSecret, true);
2.异步读取身份证
private class NFCReadTask extends AsyncTask<Void, Void, String> {
private Intent mIntent = null;
private Context context = null;
private long beginTime;
public NFCReadTask(Intent i, Context contextTemp) {
mIntent = i;
context = contextTemp;
}
@Override
protected String doInBackground(Void... params) {
beginTime = System.currentTimeMillis();
String strCardInfo = mNFCReaderHelper.readCardWithIntent(mIntent);
// 获取uuid
String uuid = mNFCReaderHelper.readCardUUId(mIntent);
return uuid + "," + strCardInfo;
}
@Override
protected void onPostExecute(String strCardInfo) {
super.onPostExecute(strCardInfo);
String uuid = "";
try {
uuid = strCardInfo.split(",")[0];
strCardInfo = strCardInfo.split(",")[1];
} catch (Exception ex) {
}
uuIdText.setText(uuid);
tvshijiancontent.setText((System.currentTimeMillis() - beginTime)
+ "毫秒");
if ((null != strCardInfo) && (strCardInfo.length() > 1600)) {
UserInfo userInfo = mNFCReaderHelper
.parsePersonInfoNew(strCardInfo);
tvname.setText(userInfo.name);
tvsex.setText(userInfo.sex);
tvnation.setText(userInfo.nation);
tvbirthday.setText(userInfo.brithday);
tvcode.setText(userInfo.id);
tvaddress.setText(userInfo.address);
tvdate.setText(userInfo.exper + "-" + userInfo.exper2);
tvdepar.setText(userInfo.issue);
// TODO:
if (isLocalParsingImage) {
// 本地动态库解析
// Bitmap bm = mNFCReaderHelper.decodeImagexxxXT(strCardInfo);
Bitmap bm = mNFCReaderHelper.decodeImagexxxNewBit(strCardInfo);
iv_zhaopian.setImageBitmap(bm);
} else {
// 网络解析头像
ShowHeadThread showThread = new ShowHeadThread();
showThread.img = mNFCReaderHelper
.decodeImageByte(strCardInfo);
showThread.start();
}
}
}
}
3、SDK源码地址: http://auth.teiwin.cn:8585/nfcreader
分享到:
相关推荐
深圳市德科物联技术有限公司的手机NFC读取身份证明文信息Demo。更多信息请访问德科官网。 如何集成到项目中 Step 1. Add the JitPack repository to your build file 打开根build.gradle文件,将maven { url '...
二代身份证内嵌有RFID芯片,可以通过NFC读取其中包含的个人信息。 要读取身份证信息,你需要在AndroidManifest.xml中添加NFC权限: ```xml <uses-permission android:name="android.permission.NFC" /> ...
NFC完整的读取功能,可以读取身份证等NFC、公交卡、银行卡等卡片
总结,这个项目展示了如何在Android平台上利用NFC功能读取身份证信息,并通过云解码服务解析这些信息。通过理解这些知识点,开发者可以学习如何构建类似的移动应用,提升用户体验,同时确保数据安全。
在身份证识别中,手机通常工作在读/写模式,读取身份证芯片上的数据。 2. **身份证芯片信息**:中国第二代身份证内置了一个非接触式IC芯片,存储了持证人的个人信息,如姓名、性别、出生日期、住址、身份证号码等。...
Android 使用手机NFC读取NFC标签数据的方法是指通过Android手机的NFC功能来读取NFC标签中的数据。这种方法可以应用于移动支付、电子票务、门禁、移动身份识别、防伪等领域。 首先需要准备一部有NFC功能的手机和...
利用安卓手机自带的NFC读取身份证信息的源码,编译工具是android studio,打开应该就可以使用,解码采用云解码方式。...
在Android平台上进行NFC(Near Field Communication)开发是一项有趣且实用的技术,它允许设备之间进行短距离通信,例如读取身份证、智能卡等NFC标签的信息。本项目着重于使用NFC功能读取身份证信息,这涉及到...
NFC手机读卡功能是开发包的核心,它允许用户通过具备NFC功能的手机直接读取身份证或护照的RFID信息。相比于传统的OCR(Optical Character Recognition)光学字符识别技术,NFC读取方式无需图像处理,速度更快,且在...
软件开发设计:PHP、QT、...云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
在Android系统中,NFC功能的实现主要依赖于系统的NFC API,它提供了读取和写入NDEF(NFC Data Exchange Format)标签的能力。下面将详细介绍如何在Android手机上实现NFC读写文本信息。 1. **NFC基础** - NFC是一种...
1. **权限申请**:由于涉及读取个人敏感信息,应用需要在AndroidManifest.xml中声明`<uses-permission>`,如`READ_EXTERNAL_STORAGE`和`INTERNET`等,以便读取身份证信息和可能的网络通信。 2. **SDK集成**:如果...
在Android系统中,NFC功能主要通过Android系统的NFC API进行控制,可以实现读取、写入和标签检测等功能。开发者需要理解和掌握Android的NFC Manager、NFC Adapter以及Tag对象等核心组件。 **Mui框架简介** Mui是一...
这是基于Android系统的NFC阅读二代证的范例,Android手机NFC实名制必须具备以下条件。 1、Android手机自带NFC功能,如果没有NFC功能的手机支持OTG功能可以外接type B协议的智能卡读卡器也行。 2、仅仅是范例源码,...
在本项目中,Android设备通过NFC功能与公交卡进行通信,读取卡片内的信息。 2. **Android NFC API**:Android系统提供了丰富的NFC API,使得开发者能够轻松地集成NFC功能到应用中。这些API包括`NfcAdapter`,`Ndef`...
4. **NFC读取**:NFC技术允许设备在短距离内进行非接触式数据交换。在Android设备上,NFC功能主要由Android系统的` NFC Adapter`提供,开发者可以通过注册监听器来捕捉到卡片的出现、离开和信息变更事件。同时,需要...
综上所述,"IdCardNfc.zip"提供的可能是实现Android平台通过NFC读取身份证信息的代码示例,涵盖了NFC技术、串口通信和物联网设备交互的知识点。开发者需要熟悉Android的NFC API,了解身份证的RFID标准,以及可能的...
源码主要使用Cmake进行项目管理,同时结合Java、C++和C语言开发,实现了使用安卓手机NFC读取完整的身份证信息,包括身份证号、姓名、民族、性别、住址、头像、出生日期、有效期等个人身份信息。
在Android平台上,二代身份证的调用方法主要涉及到NFC(Near Field Communication)技术,用于读取身份证中的RFID芯片信息。以下是对这个过程的详细解释: 首先,我们需要一个名为`OTGReadCardAPI`的Java库,这个库...