“nfc_manager”需要“permission_handler”的什么许可?

问题描述

我正在使用下面的插件

  nfc_manager: ^3.1.0
  permission_handler: ^8.1.0

使用此设置

[✓] Flutter (Channel stable,2.2.2,on macOS 11.4 20F71 darwin-x64,locale en-EE)
...
[✓] Connected device (3 available)
    • Pixel 3a (mobile) • 965AY0WP5C • android-arm64  • Android 11 (API 30)
    • macOS (desktop)   • macos      • darwin-x64     • macOS 11.4 20F71 darwin-x64
    • Chrome (web)      • chrome     • web-javascript • Google Chrome 91.0.4472.101

• No issues found!

如果我跑

import 'package:Flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';

void main() => runApp(
      MaterialApp(
        home: Material(
          child: ListView.builder(
            itemCount: Permission.values.length,itemBuilder: (context,index) {
              final p = Permission.values[index];
              print(p);
              return Center(child: Text('$p'));
            },),);

我得到输出

I/Flutter (22369): Permission.camera
I/Flutter (22369): Permission.contacts
I/Flutter (22369): Permission.location
I/Flutter (22369): Permission.locationAlways
I/Flutter (22369): Permission.locationWhenInUse
I/Flutter (22369): Permission.mediaLibrary
I/Flutter (22369): Permission.microphone
I/Flutter (22369): Permission.phone
I/Flutter (22369): Permission.photos
I/Flutter (22369): Permission.photosAddOnly
I/Flutter (22369): Permission.reminders
I/Flutter (22369): Permission.sensors
I/Flutter (22369): Permission.sms
I/Flutter (22369): Permission.speech
I/Flutter (22369): Permission.storage
I/Flutter (22369): Permission.ignoreBatteryOptimizations
I/Flutter (22369): Permission.notification
I/Flutter (22369): Permission.access_media_location
I/Flutter (22369): Permission.activity_recognition
I/Flutter (22369): Permission.unkNown
I/Flutter (22369): Permission.bluetooth
I/Flutter (22369): Permission.manageExternalStorage
I/Flutter (22369): Permission.systemAlertwindow
       ⣽I/Flutter (22369): Permission.requestInstallPackages
I/Flutter (22369): Permission.appTrackingTransparency
I/Flutter (22369): Permission.criticalAlerts
I/Flutter (22369): Permission.accessNotificationPolicy

我想避免手动添加权限的过程
但我不确定我应该请求 permission_handler 的哪个许可
访问 NFC

你能帮忙吗?

解决方法

您不需要permission_handler插件来请求权限android.permission.NFC,因为它是普通权限,而不是危险权限。只需在 AndroidManifest.xml 中声明即可,无需权限处理。