android实现通过NFC读取卡号

 更新时间:2021年09月26日 17:37:18   作者:微雨未语  
这篇文章主要介绍了android实现通过NFC读取卡号,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了android通过NFC读取卡号的具体代码,供大家参考,具体内容如下

1.获取权限

<uses-permission android:name="android.permission.NFC" />
<uses-feature
     android:name="android.hardware.nfc"
    android:required="true" />

2.设置NFC活动页

<intent-filter>
                <action android:name="android.nfc.action.TAG_DISCOVERED" />
                <data android:mimeType="text/plain" />
            </intent-filter>

3.Activity代码

//NFC对象
private NfcAdapter mNfcAdapter;
private PendingIntent pi;

1.主方法中:

//获取默认的NFC控制器
        //初始化NfcAdapter
        mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
        if (mNfcAdapter == null) {
            Toast.makeText(AddPointActivity.this, "设备不支持NFC!", Toast.LENGTH_LONG).show();
            finish();
            return;
        }
        if (!mNfcAdapter.isEnabled()) {
            Toast.makeText(AddPointActivity.this, "请在系统设置中先启用NFC功能!", Toast.LENGTH_LONG).show();
            finish();
            return;
        }
        //初始化PendingIntent
        // 初始化PendingIntent,当有NFC设备连接上的时候,就交给当前Activity处理
        pi = PendingIntent.getActivity(this, 0, new Intent(this, getClass())
                .addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);

2.方法

//获取数据
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        // 当前app正在前端界面运行,这个时候有intent发送过来,那么系统就会调用onNewIntent回调方法,将intent传送过来
        // 我们只需要在这里检验这个intent是否是NFC相关的intent,如果是,就调用处理方法
        if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
            processIntent(intent);
        }
    }

    //启动
    @Override
    protected void onResume() {
        super.onResume();
        mNfcAdapter.enableForegroundDispatch(this, pi, null, null);
    }

    //解析
    private void processIntent(Intent intent) {
        //取出封装在intent中的TAG
        Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
        String CardId =ByteArrayToHexString(tagFromIntent.getId());
        Toast.makeText(AddPointActivity.this, CardId, Toast.LENGTH_LONG).show();
    }

    //转为16进制字符串
    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通过GPS获取定位的流程步骤

    Android通过GPS获取定位的流程步骤

    这篇文章主要给大家简单介绍一下Android如何通过GPS获取定位的方式,文中有详细的流程步骤和代码示例,介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 3种Android隐藏顶部状态栏及标题栏的方法

    3种Android隐藏顶部状态栏及标题栏的方法

    这篇文章主要为大家详细介绍了3种Android隐藏顶部状态栏及标题栏的方法,还涉及一种隐藏Android 4.0平板底部状态栏的方法,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 详解android系统的定制

    详解android系统的定制

    这篇内容给大家分享了关于android系统的定制的一些步骤和基本知识点,有兴趣的朋友参考学习下。
    2018-06-06
  • Android实现多维商品属性SKU选择

    Android实现多维商品属性SKU选择

    这篇文章主要为大家详细介绍了Android实现多维商品属性SKU选择,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Android图像视图ImageView实现图像拉伸效果

    Android图像视图ImageView实现图像拉伸效果

    这篇文章主要为大家详细介绍了Android图像视图ImageView实现图像拉伸演示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • Android点亮屏幕或屏幕解锁和锁定以及其他相关权限实现代码

    Android点亮屏幕或屏幕解锁和锁定以及其他相关权限实现代码

    本文将带你实现Android屏幕解锁和锁定;Android屏幕常亮/点亮以及其他相关权限,感兴趣的朋友可以参考下,希望本文对你有所帮助
    2013-01-01
  • Android 如何修改APK的默认名称

    Android 如何修改APK的默认名称

    这篇文章主要介绍了Android 如何修改APK的默认名称的相关资料,需要的朋友可以参考下
    2017-02-02
  • Android开发之项目模块化实践教程

    Android开发之项目模块化实践教程

    这篇文章主要给大家介绍了关于Android开发之项目模块化的相关资料,文中通过示例代码给各位Android开发者们介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习下吧。
    2017-09-09
  • Android中的指纹识别demo开发实例

    Android中的指纹识别demo开发实例

    这篇文章主要介绍了Android中的指纹识别demo开发实例的相关知识,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Android面试题问答整理

    Android面试题问答整理

    今天小编就为大家分享一篇关于Android面试题问答整理,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12

最新评论