Android NFC读卡以及NFC的三种模式

本文介绍了如何在Android设备上实现NFC读卡功能,并详细讲解了NFC的三种工作模式:NDEF_DISCOVERED模式、Tech Discovered模式和Tag Discovered模式,重点阐述了每种模式的工作原理和使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步添加权限:
<uses-permission android:name="android.permission.NFC" />
<uses-permission
    android:name="android.hardware.nfc"
    android:required="true" /> 

第二步:在需要读取卡内容的地方写下面的内容

@SuppressLint("NewApi")
@Override
protected void onResume() {
    super.onResume();
    NfcUtils.init(this);
    if (NfcUtils.mNfcAdapter != null)
        //监听NFC设备
        NfcUtils.mNfcAdapter.enableForegroundDispatch(this, NfcUtils.mPendingIntent, NfcUtils.mIntentFilter, NfcUtils.mTechList);
}

@SuppressLint("NewApi")
@Override
protected void onPause() {
    super.onPause();
    if (NfcUtils.mNfcAdapter != null)
        NfcUtils.mNfcAdapter.disableForegroundDispatch(this);
}

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    try {
        //hyl 2019.3.1 NFC 添加使用数据区数据 此数据为二维码数据
        String data = NfcUtils.readNFCFromTag(intent);
        Log.e(TAG, "onNewIntent: " + data);
        if (data == null&&data.isEmpty()) {
            Toast.makeText(this,"扫码失败",Toast.LENGTH_SHORT).show();
            return;
        } else {
          //获取卡里的数据的逻辑处理
            String[] split = DesUtils.decrypt(data).split(",");
            mUpLoad.setText(split[0]);
        }

    } catch (UnsupportedEncodingException e) {
        e.pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值