【问题标题】:Flutter: How to get NFC message after app startsFlutter:如何在应用启动后获取 NFC 消息
【发布时间】:2020-12-25 06:07:22
【问题描述】:

我需要在flutter App中获取NFC消息,需要在OS打开App后通过标记NFC芯片。

我相信在原生 Android 或 iOS 中是可以实现的(虽然我自己没有尝试过),链接到官方文档:

https://developer.android.com/guide/topics/connectivity/nfc/nfc#obtain-info https://developer.apple.com/documentation/corenfc/adding_support_for_background_tag_reading

不过,nfc_in_flutternfc_manager 等 Flutter NFC 插件仅支持应用内 NFC 操作。

我该怎么做?

如果 Flutter 应用目前没有解决方案,我很想学习如何编写 Flutter 插件并实现它。

【问题讨论】:

    标签: android ios flutter nfc


    【解决方案1】:

    至少对于 Android,您应该能够使用 https://pub.dev/packages/receive_sharing_intent,因为它只是系统 NFC 应用程序通过标准 Intent 与您的应用程序共享数据。因此,只需将正确的清单过滤器放入 NFC Intent 中,即可发送正确的 Intent,然后在 NFC 的 Intent 中读取正确的密钥作为文档。

    未测试,不了解 iOS

    【讨论】:

    • 感谢 Andrew,将在寻找 iOS 解决方案时尝试实施
    • 我设法通过编写自己的插件使其在 Android 上运行,但 iOS 上的 NFC 很痛苦,Apple 在文档方面真的很糟糕。
    • Apple 参考文档还不错,它的示例不存在,但 NFC 支持远远落后于 Android,因为 iOS 13 仅支持最基本的操作。我远离 iOS,因为它是支持很差,但对它的工作原理有一个合理的理解(足以知道甚至不费心去做我在 Android 上所做的事情)。
    • 我设法让它在 IOS 上工作,通过使用自定义方案(或者它是否称为通用链接?)但你可以像:myApp://hostname/path... 并在 swift 代码中处理有效负载(类似到官方文档代码示例)
    • @xmanreturn 你能分享你的插件吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多