资源简介
支持Mifare卡(NFCA)和NFCB卡读写的demo。
1、 m1卡读写数据和修改控制位和秘钥都可以,增值减值可能是用的不对,没效果。http://download.csdn.net/detail/qust_lizhijun/9001243 链接是控制位的不同对于数据读写和控制位、密钥改写的影响。
2、二代证就是nfcb模式,然并卵,数据都是加密的,能读写也看不懂,所以只写了个接口使用方式。

代码片段和文件信息
package com.straw.nfcdemo;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.http.util.ByteArrayBuffer;
import android.app.Activity;
import android.content.Intent;
import android.nfc.NfcAdapter;
import android.nfc.Tag;
import android.nfc.tech.MifareClassic;
import android.nfc.tech.NfcB;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.view.View.onclickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements onclickListener {
private TextView tv;
private Button readCardBtn addBtn minusBtn modifyBtn;
private MifareClassic mTag;
private NfcB nfcbTag;
private int flag;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initWidget();
onNewIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) {
tv.setText(“卡ID=“
+ ByteArrayToHexString(intent
.getByteArrayExtra(NfcAdapter.EXTRA_ID)));
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
String[] techList = tag.getTechList();
ArrayList list = new ArrayList();
for (String string : techList) {
list.add(string);
System.out.println(“tech=“ + string);
}
if (list.contains(“android.nfc.tech.NfcB“)) {
nfcbTag = NfcB.get(tag);
try {
nfcbTag.connect();
if (nfcbTag.isConnected()) {
System.out.println(“已连接“);
Toast.makeText(MainActivity.this “身份证已连接“
Toast.LENGTH_SHORT).show();
new CommandAsyncTask().execute();
}
// nfcbTag.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if (list.contains(“android.nfc.tech.MifareClassic“)) {
mTag = MifareClassic.get(tag);
if (mTag != null) {
try {
mTag.connect();
if (mTag.isConnected()) {
System.out.println(“已连接“);
} else {
Toast.makeText(MainActivity.this “请贴卡后再操作“
Toast.LENGTH_SHORT).show();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (flag == 0) {
tv.setText(readTag(mTag));
} else if (flag == 1) {
addValue(mTag);
} else if (flag == 2) {
minusValue(mTag);
} else if (flag == 3) {
modifyControl(mTag);
}
}
}
}
private String ByteArrayToHexString(byte[] inarray) { // converts byte
// arrays to string
int i j in;
String[] hex = { “0“ “1“ “2“ “3“ “4“ “5“ “6“ “7“ “8“ “9“ “A“
“B“ “C“ “D“ “E“ “F“ };
String out = ““;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 475 2015-08-17 10:12 NfcDemo\.classpath
文件 843 2015-07-25 09:12 NfcDemo\.project
文件 177 2015-07-25 09:12 NfcDemo\.settings\org.eclipse.jdt.core.prefs
文件 1371 2015-08-17 10:12 NfcDemo\AndroidManifest.xm
文件 51394 2015-07-25 09:12 NfcDemo\ic_launcher-web.png
文件 1184450 2015-07-25 09:12 NfcDemo\libs\android-support-v4.jar
文件 781 2015-07-25 09:12 NfcDemo\proguard-project.txt
文件 563 2015-07-25 09:13 NfcDemo\project.properties
文件 7658 2015-07-25 09:12 NfcDemo\res\drawable-hdpi\ic_launcher.png
文件 3777 2015-07-25 09:12 NfcDemo\res\drawable-mdpi\ic_launcher.png
文件 12516 2015-07-25 09:12 NfcDemo\res\drawable-xhdpi\ic_launcher.png
文件 24777 2015-07-25 09:12 NfcDemo\res\drawable-xxhdpi\ic_launcher.png
文件 1710 2015-08-14 10:13 NfcDemo\res\layout\activity_main.xm
文件 77 2015-07-25 09:12 NfcDemo\res\values\strings.xm
文件 330 2015-08-15 09:55 NfcDemo\res\xm
文件 12015 2015-08-17 10:12 NfcDemo\src\com\straw\nfcdemo\MainActivity.java
目录 0 2015-08-17 10:14 NfcDemo\src\com\straw\nfcdemo
目录 0 2015-08-17 10:14 NfcDemo\src\com\straw
目录 0 2015-08-17 10:14 NfcDemo\res\drawable-hdpi
目录 0 2015-07-25 09:12 NfcDemo\res\drawable-ldpi
目录 0 2015-08-17 10:14 NfcDemo\res\drawable-mdpi
目录 0 2015-08-17 10:14 NfcDemo\res\drawable-xhdpi
目录 0 2015-08-17 10:14 NfcDemo\res\drawable-xxhdpi
目录 0 2015-08-17 10:14 NfcDemo\res\layout
目录 0 2015-08-17 10:14 NfcDemo\res\values
目录 0 2015-08-17 10:14 NfcDemo\res\xm
目录 0 2015-08-17 10:14 NfcDemo\src\com
目录 0 2015-08-17 10:14 NfcDemo\.settings
目录 0 2015-07-25 09:12 NfcDemo\assets
目录 0 2015-08-17 10:14 NfcDemo\libs
............此处省略6个文件信息
- 上一篇:java开发工程师述职报告
- 下一篇:JAVA程序设计_具有发牌洗牌功能的纸牌游戏
相关资源
- AndroidStudio版直连sqlserver
- android带百分比进度条的文件上传,使
- 美食天下项目Android版源码和Web版源码
- Android之自定义ToggleButton使用
- Android非常漂亮的登录界面
- pc与android通过usb socket实现手机通信
- android毕业设计
- 百度地图自定义Markerandroid
- Android分区工具包
- android-support-v4.jar已打包进去源代码
- u-blox_Android_GNSS_Driver_v3.10驱动源码+中
- 个人根据Android移动开发案例详解手写
- android 视频播放器 项目和原码
- Android【动画】【特效】 17种动画特效
- 基于Android智能家居详细设计(经典)
- android通过JDBC连接Mysql数据库
- Android通讯录的源代码
- android 瀑布流Demo
- 指纹传感器FPC1080在android下的驱动
- delphi xe5 android 调用照相机摄像头拍照
- Android手机连连看游戏源码
- android-sdk-windows v2.3离线完整版
- android 底部弹出菜单(带透明背景)
- Android工程模式简介.rar
- Android蓝牙和Cors网络开发源码
- Android powermanger wakelock
- Android v7的一些jar包
- 最新android supportV7包
- android图片压缩工具类分享
- 单机搭建Android(解决Network is unreach
评论
共有 条评论