搜索插件、代码仓与 APP 分类

插件详情v4.3.0

nfc_manager

一个 Flutter 插件,可在 Android 和 iOS 上提供对 NFC 功能的访问。

AndroidiOS
近 30 天下载
10.1万
喜欢数
532
Pub 分数
160

安装插件

flutter pub add nfc_manager

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

nfc_manager 是一个 Flutter 插件,可在 Android 和 iOS 设备上启用 NFC(近场通信)功能。它允许开发者读取和写入 NFC 标签,检测附近的 NFC 设备,并处理 NDEF(NFC 数据交换格式)消息。该插件提供了跨平台的一致 API,简化了将 NFC 功能集成到 Flutter 应用程序的过程。支持多种 NFC 操作,如标签检测、读取、写入和后台处理。适用于非接触式支付系统、智能海报、门禁控制和数据共享应用。

适合场景

  • 读取NFC标签
  • 向NFC标签写入数据
  • 实现无接触支付
  • 创建智能海报
  • 启用访问控制系统

主要特点

  • 跨平台NFC支持
  • NDEF消息处理
  • 标签检测和读取
  • 背景NFC扫描
  • 用于常见 NFC 任务的简单 API

适合对象

  • 需要NFC交互的移动应用
  • 开发无接触解决方案的开发者
  • 使用智能卡或信标的应用程序
  • 同时针对 Android 和 iOS 的项目

使用建议

  • 需要带有NFC硬件的设备
  • 与 Android 相比,iOS 的 NFC 功能有限
  • 权限必须由用户授予
  • 并非所有Android设备都支持完整的NFC功能

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

nfc_manager

A Flutter plugin providing access to NFC features on Android and iOS.

Setup

Android
iOS

Usage

Handling the Session
import 'package:nfc_manager/nfc_manager.dart';

// Check the availability of NFC on the current device.
NfcAvailability availability = await NfcManager.instance.checkAvailability();

if (availability != NfcAvailability.enabled) {
  print('NFC may not be supported or may be temporarily disabled.');
  return;
}

// Start the session.
NfcManager.instance.startSession(
  pollingOptions: {NfcPollingOption.iso14443}, // You can also specify iso18092 and iso15693.
  onDiscovered: (NfcTag tag) async {
    // Do something with an NfcTag instance...
    print(tag);

    // Stop the session when no longer needed.
    await NfcManager.instance.stopSession();
  },
);
Working with NfcTag

An NfcTag instance is typically not used directly. Instead, convert it to a platform-specific tag class by calling that class's static method from.

import 'package:nfc_manager/nfc_manager.dart';
import 'package:nfc_manager_ndef/nfc_manager_ndef.dart';

final Ndef ndef = Ndef.from(tag);

if (ndef == null) {
  print('This tag is not compatible with NDEF.');
  return;
}

// Do something with an Ndef instance...
print(ndef);

The following platform-specific tag classes are available:

Android only
  • NfcAAndroid
  • NfcBAndroid
  • NfcFAndroid
  • NfcVAndroid
  • IsoDepAndroid
  • MifareClassicAndroid
  • MifareUltralightAndroid
  • NfcBarcodeAndroid
  • NdefAndroid
  • NdefFormatableAndroid
iOS only
  • FeliCaIos
  • MiFareIos
  • Iso15693Ios
  • Iso7816Ios
  • NdefIos
Cross-platform abstractions (separate packages)

所属分类

依赖

依赖清单 2 项

  • meta^1.17.0
  • ndef_record^1.4.2

源码仓库

使用此插件的项目