You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue/Capacitor/Ionic开发NFC扫描App已加权限仍遇权限错误求助

解决NFC权限报错的几种方案

针对你遇到的NFC permission required: Neither user 10711 nor current process has android.permission.NFC报错,虽然已经在AndroidManifest.xml添加了权限,但可以从以下几个方向排查:

  • 确认权限在Manifest中的位置
    确保<uses-permission android:name="android.permission.NFC" />是写在<manifest>根标签下,而非嵌套在<application>标签里。正确结构示例:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.your.app">
    
        <uses-permission android:name="android.permission.NFC" />
        <!-- 其他权限、特性声明 -->
    
        <application ...>
            <!-- 应用组件配置 -->
        </application>
    </manifest>
    
  • 主动检查并确认权限(适配特殊场景)
    虽然NFC属于Android正常权限(无需动态申请),但部分定制ROM或插件逻辑可能需要主动校验。可以在扫描前添加权限检查:

    import { Nfc } from '@capawesome-team/capacitor-nfc';
    
    const checkNfcPermission = async () => {
      const permissionStatus = await Nfc.checkPermissions();
      if (permissionStatus.nfc !== 'granted') {
        await Nfc.requestPermissions();
      }
    };
    
    const read = async () => {
      await checkNfcPermission();
      return new Promise((resolve) => {
        Nfc.addListener('nfcTagScanned', async (event) => {
          await Nfc.stopScanSession();
          resolve(event.nfcTag);
        });
        Nfc.startScanSession();
      });
    };
    
  • 同步Capacitor配置到Android项目
    手动修改AndroidManifest.xml后,需要执行同步命令确保修改生效:

    npx cap sync android
    
  • 检查插件与Capacitor版本兼容性
    尝试更新@capawesome-team/capacitor-nfc到最新版本,避免版本兼容问题:

    npm install @capawesome-team/capacitor-nfc@latest
    

    更新后重新执行同步命令。

  • 验证设备NFC状态
    顺带确认设备是否支持NFC或已开启该功能,避免权限报错掩盖基础功能问题:

    import { NfcUtils } from '@capawesome-team/capacitor-nfc';
    
    const checkNfcAvailability = async () => {
      const status = await NfcUtils.isAvailable();
      if (!status.available) {
        alert('设备不支持NFC或未开启功能');
        return false;
      }
      return true;
    };
    
    const read = async () => {
      if (!await checkNfcAvailability()) return;
      // 原扫描逻辑
    };
    

内容的提问来源于stack exchange,提问作者Tibo Mertens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 19:32:51