首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用nfc(android studio)获取卡号

使用NFC(Near Field Communication)技术获取卡号的步骤如下:

  1. 确保设备支持NFC功能:NFC是一种无线通信技术,用于近距离的数据传输。在使用NFC之前,确保你的Android设备支持NFC功能,并且已经打开了NFC开关。
  2. 在Android Studio中创建一个新的项目:打开Android Studio,创建一个新的Android项目。
  3. 添加NFC权限和特性:在项目的AndroidManifest.xml文件中,添加以下权限和特性:
代码语言:txt
复制
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc" android:required="true" />
  1. 创建一个NFC适配器:在你的Activity中,创建一个NFC适配器对象,并检查设备是否支持NFC功能。
代码语言:txt
复制
NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (nfcAdapter == null) {
    // 设备不支持NFC
    // 在这里处理设备不支持NFC的情况
}
  1. 处理NFC意图过滤器:在你的Activity中,创建一个Intent过滤器来处理NFC意图,并在onResume()方法中启用前台调度系统。
代码语言:txt
复制
@Override
protected void onResume() {
    super.onResume();
    IntentFilter intentFilter = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);
    try {
        intentFilter.addDataType("text/plain");
        IntentFilter[] intentFiltersArray = new IntentFilter[]{intentFilter};
        nfcAdapter.enableForegroundDispatch(this, pendingIntent, intentFiltersArray, null);
    } catch (IntentFilter.MalformedMimeTypeException e) {
        e.printStackTrace();
    }
}
  1. 处理NFC意图:在你的Activity中,重写onNewIntent()方法来处理NFC意图,并从意图中获取卡号。
代码语言:txt
复制
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
        Parcelable[] rawMessages = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
        if (rawMessages != null) {
            NdefMessage[] messages = new NdefMessage[rawMessages.length];
            for (int i = 0; i < rawMessages.length; i++) {
                messages[i] = (NdefMessage) rawMessages[i];
            }
            if (messages.length > 0) {
                NdefRecord record = messages[0].getRecords()[0];
                String cardNumber = new String(record.getPayload());
                // 在这里处理获取到的卡号
            }
        }
    }
}

以上步骤是使用NFC技术获取卡号的基本流程。你可以根据具体需求进行进一步的处理和功能扩展。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mobdev
  • 腾讯云数据库:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器:https://cloud.tencent.com/product/cvm
  • 腾讯云云原生应用引擎:https://cloud.tencent.com/product/tke
  • 腾讯云音视频处理:https://cloud.tencent.com/product/mps
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云存储:https://cloud.tencent.com/product/cos
  • 腾讯云区块链:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一步步教你制作移动式银行卡信息读取器

背景:半年前,我从网上看到一个视频,讲的大概是一个人站在了一个人的旁边,待了几秒,然后就知道了那个人的银行卡信息了,而且不仅是银行卡信息,甚至连持卡人的姓名,身份证号都有。我看完之后,当时就惊呆了。现在的人都这么牛了吗?于是不假思索的也从网上买了一个一模一样的NFC读卡器,幻想着自己也可以这么厉害。可是货一到,热情就没了,因为当时以为很简单,哪知研究了一下竟不知从哪下手。不过好在也没浪费,拿着它配了个钥匙。就这样一晃半年过去了……最近我又看到了这个NFC读卡器,然后还找到了自己大学时期买的树莓派,心想着,是不是可以结合一下。最终功夫不负有心人,花了好几天的时间,终于把它们拼起来了!

01

《Android Studio开发实战 从零基础到App上线(第2版)》资源下载和内容勘误[通俗易懂]

下面是《Android Studio开发实战 从零基础到App上线(第2版)》一书用到的工具和代码资源: 1、本书使用的Android Studio版本为3.2,最新的安装包可前往Android官网页面下载。 2、本书使用的Android NDK版本为r17,最新的安装包可前往Android官网页面下载。 3、本书提供所有示例源码的demo工程下载,源码(适配Android4.1到9.0和Android Studio 3.2到3.4)的下载页面为https://pan.baidu.com/s/14NE2DD-frXxuDXUAlTfRaw。最新的源码也可访问我的github获取,github地址是https://github.com/aqi00/android2,服务端的github地址是https://github.com/aqi00/net_server。(部分地区如新疆既访问不了百度网盘也访问不了github,此时可访问csdn的下载页面获取源码https://download.csdn.net/download/aqi00/11223223)。另外,AS3.4之后默认开了androidx,如需获取适配了androidx的本书源码,可访问这个github页面https://github.com/aqi00/androidx。 有的读者反映从github下载本书源码很慢,或者下载不完整,这是国外服务器连接不稳定造成的。建议访问这个代下载网站https://d.serctl.com/,按照网站左上角的“如何下载教程”,找到本书源码的github下载地址并提交,等待几秒后就能在该网站下载完整的源码了。 源码与各章的对应关系表见下图:

01

Android开发笔记(一百六十一)NFC近场通信

NFC的全称是“Near Field Communication”,意思是近场通信、与邻近的区域通信。大众所熟知的NFC技术应用,主要是智能手机的刷卡支付功能。别看智能手机是近十年前才出现的,NFC的历史可比智能手机要悠久得多,它脱胎于上世纪的RFID无线射频识别技术。 所谓RFID是“Radio Frequency Identification”的缩写,它通过无线电信号便可识别特定目标并读写数据,而无需自身与该目标之间建立任何机械或者光学接触。像日常生活中的门禁卡、公交卡,乃至二代身份证,都是采用了RFID技术的卡片。若想读写这些RFID卡片,则需相应的读卡器,只要用户把卡片靠近,读卡器就会产生感应动作。 既然RFID已经广泛使用,那么何苦又要另外制定NFC标准呢?其实正是因为RFID用的地方太多了,导致随意性较大,反而不便于更好地管控。所以业界重新定义了NFC规范,试图在两个方面弥补RFID的固有缺憾: 1、RFID的信号传播距离较远,致使位于远处的设备也可能获取卡片信息,这对安全性较高的场合是不可接受的。而NFC的有效工作距离在十厘米之内,即可避免卡片信息被窃取的风险。 2、RFID的读写操作是单向的,也就是说,只有读卡器能读写卡片,卡片不能拿读卡器怎么样。现在NFC不再沿用“读卡器——卡片”的模式,取而代之的是只有NFC设备的概念,两个NFC设备允许互相读写,既可以由设备A读写设备B,也可以由设备B读写设备A。 改进之后的NFC技术既提高了安全性,又拓宽了应用场合,同时还兼容现有的大部分RFID卡片,因此在智能手机上运用NFC而非RFID也就不足为怪了。 带有NFC功能的手机,在实际生活中主要有三项应用:读卡、写卡、分享内容(两部手机之间传输数据)。为了能更迅速地了解NFC技术在Android中的开发流程,下面通过相对简单的读卡功能,来介绍如何进行手机App的NFC开发。 首先App工程要在AndroidManifest.xml中声明NFC的操作权限,下面是配置声明的例子:

02
领券