1. menifest文件中需要添加:

android:name="android.hardware.nfc"

android:required="true" />

在activity中添加:

2. 初始化时代码:

Intent nfcIntent = new Intent(this, getClass());

nfcIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

mPendingIntent =

PendingIntent.getActivity(this, 0,nfcIntent , 0);

mAdapter = NfcAdapter.getDefaultAdapter(this);

if (mAdapter == null) {

Toast.makeText(getApplicationContext(), "NFC feature is supported on this device.", Toast.LENGTH_SHORT).show();

return;

}

需要Override的函数:

private NfcAdapter mAdapter;

private PendingIntent mPendingIntent;

@TargetApi(Build.VERSION_CODES.GINGERBREAD_MR1)

protected void onResume() {

super.onResume();

mAdapter.enableForegroundDispatch(this, mPendingIntent, null, null);

}

@Override

protected void onNewIntent(Intent intent){

getTagInfo(intent);

}

@TargetApi(Build.VERSION_CODES.GINGERBREAD_MR1)

private void getTagInfo(Intent intent) {

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

byte[] tagId = tag.getId();

String str = ByteArrayToHexString(tagId);

str = flipHexStr(str);

Long cardNo = Long.parseLong(str, 16);

String ignoreOperationId = m_operationid;

if(m_isOnline){

// if select all , pass in the operation id encoded in ticket

// there should NOT be many operations, take the only one

new CardValidationAsyncTask().execute(cardNo.toString());

}

}

@TargetApi(Build.VERSION_CODES.GINGERBREAD_MR1)

@Override

protected void onPause() {

super.onPause();

if (mAdapter != null) {

mAdapter.disableForegroundDispatch(this);

}

}

以下为helper函数:

private String flipHexStr(String s){

StringBuilder result = new StringBuilder();

for (int i = 0; i <=s.length()-2; i=i+2) {

result.append(new StringBuilder(s.substring(i,i+2)).reverse());

}

return result.reverse().toString();

}

private String ByteArrayToHexString(byte[] inarray) {

int i, j, in;

String[] hex = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A",

"B", "C", "D", "E", "F" };

String out = "";

for (j = 0; j < inarray.length; ++j) {

in = (int) inarray[j] & 0xff;

i = (in >> 4) & 0x0f;

out += hex[i];

i = in & 0x0f;

out += hex[i];

}

return out;

}

android读取手机nfc卡号,Android -- 读取NFC卡号相关推荐

  1. android 6.0获取手机imei,android获取手机信息大全,android获取大全,IMEI号,IESI号,...

    android获取手机信息大全,android获取大全,IMEI号,IESI号, IMEI号,IESI号,手机型号: [java] view plaincopyprint?private void g ...

  2. 最好的android one手机,最高配置的Android One手机登场 LG推出G7 One与G7 F

    原标题:最高配置的Android One手机登场 LG推出G7 One与G7 F 集微网消息,Android One原本是谷歌与中国台湾的联发科共同开发的一个项目,旨在让手机制造商打造低成本的智能手机 ...

  3. android获取手机短信记录,android 获取手机电话号码和短信内容

    通过ContentResolver 获取到手机的联系人跟手机短信信息并显示出来. 1.实现的代码: package com.example.phone; import java.text.Simple ...

  4. android系统手机流量控制方法amp;,Android之——流量管理程序示范

    Android之--流量管理程序示例 转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47680811 目前,市面上有很多管理手机流量 ...

  5. win10可以开发android,Win10手机真能运行Android/iOS程序?如何实现?

    原标题:Win10手机真能运行Android/iOS程序?如何实现? 摘要:Windows 10手机真的能运行安卓和iOS的应用吗?咋实现的啊?随小编一起往下看! 这个倒是假不了,微软早在4月份的20 ...

  6. android调用手机自带计算器,Android实现简易的计算器

    本文实例为大家分享了Android实现简易的计算器的具体代码,供大家参考,具体内容如下 布局(activity_main.xml) xmlns:tools="http://schemas.a ...

  7. pe系统如何读取手机_如何让Android手机在winpe连接电脑后显示?

    展开全部 让Android手机在winpe连接电脑后显示的方法/步骤如下: U盘启动项,一个电脑技术人员必备的工具62616964757a686964616fe59b9ee7ad94313333656 ...

  8. android魅族手机目录获取,根据ANDROID 10的魅族手机FLYME 8.1已公布:下列是达标机器设备的目录...

    魅族17系列产物近期与按照Android 10的Flyme 8.1固定件一路公布发布.新固定件已展开了良多改良,包括新的OneMind 4.0 AI模块. 主题勾当期内,大师都晓得此外十款魅族手机机械 ...

  9. android 乐器,手机轻松实现演奏 Android乐器软件推荐-520吉他网

    时间:2019-05-15     来源:网络资源 手机作为人们生活中必备的通讯工具之一,已然成为了人们手中把玩的智能玩具,更有甚者把手机变成了众多乐器,例如早期的iPhone钢琴女,Android吉 ...

  10. 跟读 播放器 android,安卓手机英语学习利器 android 英语复读 跟读 练听力 练口语...

    Android 1.5版本以上使用,要求系统本身至少加载有英文.中文简体和中文繁体三种语言. 视频演示http://v.youku.com/v_show/id_XMzUzODUwNzI0.html请将 ...

最新文章

  1. Java程序员技术培训需要培训哪些?
  2. python计算数据百分比_概率计算:定义概率分布数据结构,Python实现概率分布计算...
  3. 【Ex_BSGSBSGS算法模板】poj2417 poj3243
  4. RK3288 添加USB转虚拟串口设备
  5. 14门Linux课程,打通你Linux的任督二脉!
  6. 微信小程序引入npm
  7. 中文编码--中国程序员之”银弹“?
  8. hibernate jpa 注解 @Temporal(TemporalType.DATE) 日期注解
  9. html的细节优化,网页页面的细节优化策略
  10. 复变函数与积分变换小结
  11. 如何在Linux下逛B站看视频
  12. NL2SQL深度学习方法总结
  13. 做个jmeter登陆百度网盘的实例
  14. SCP批量拷贝指定文件
  15. python地铁车票_Python分析3034个地铁站,发现中国地铁名字的秘密。
  16. java利用poi实现Excel考勤报表的输出
  17. 《大败局》擦边的读书笔记
  18. Java笔记(6)-Math、BIgInteger、DecimalFormat、Pattern和Macth、Scanner、System.exit()
  19. cocos2dx跨平台游戏PoetryInGame
  20. 推荐一本非常不错的书——李笑来的《把时间当作朋友》

热门文章

  1. Android OpenGL ES 2.0 屏幕坐标和3D世界坐标转换
  2. 什么是用户体验设计?
  3. java调用身份证接口查询
  4. wept开发微信小程序
  5. matlab 路由表,实验1静态ECMP的浮动静态路由配置
  6. php 上传 读取 excel,php上传excel表格并获取数据
  7. 节目制作需要用到计算机软件,非线性编辑软件技术的电视节目制作运用论文
  8. React-Redux 之store, action, reducer以及combineReducers(reducers)
  9. 百立特(木瓜贴片:18927470109,专精3、5、10片SMT研发首件打样)
  10. java视频转换语音,视频转换成音频方法,avi格式视频怎么转换为MP3格式