我只需将手机放在 NFC 标签上即可启动我的应用程序。但我想更进一步。想象一个带有两个 NFC 标签的简单时间跟踪应用程序。第一个将启动(并下载)应用程序并注册开始时间。另一个也将启动(并下载)应用程序,但注册一个停止时间。
我想解决的问题是我不想让我的手机知道这些标签。应用程序不需要编写标签 ID 列表,也不需要知道与每个 ID 相关联的操作。标签应携带以正确参数在手机上启动操作所需的信息。
有没有关于如何完成这个场景的信息?我已经安装了“nfc-eclipse-plugin”,但不明白如何使用它来实现我的目标,更不知道如何让我的应用程序读取额外数据。
提前致谢 罗兰
最佳答案
您的标签应该能够存储 NDEF 消息。此类消息由 Android 自动读出并通过 Intent 传递给您的应用。自动安装和/或启动您的应用程序可以通过放置 Android Application Record 来完成。在你的标签中。任何附加信息(“开始”或“停止”指示)都可以存储在专有记录中。
您可能希望将 AAR 作为 NDEF 消息的最后一条记录,因为它会被 Android 自动检测并采取行动,但仅在 ICS 之后才受支持。要使用 Gingerbread 进行自动安装,您可以将附加的 URI 记录或带有 Google Play 商店链接的 SmartPoster 记录作为消息的第一条记录。然后,您的应用程序应针对此 URI 进行过滤 ( ACTION_NDEF_DISCOVERED ),因此它也会在 Gingerbread 上自动启动。
关于android - 使用额外数据从 NFC 标签启动 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10840439/