当我扫描包含 NFC 标签的工作批次时,我想创建一个将时间戳存储到数据库中的应用程序。这将通过 IntentService 完成,而无需启动活动。在第二次扫描后,另一个时间戳将通过 IntentService 存储到数据库中。无需开始任何活动。一个通知就足够了。用户可以手动启动活动以查看信息。
我读过有很多不同的标签技术。但我喜欢让我的应用程序更通用一点。所以我不知道我的客户会使用哪种 NFC 标签。我可以监听所有不同的标签,并让用户将标签与特定任务配对。
这很好,除非手机上有一个 NFC 应用程序。但我有另一个使用 NFC 的应用程序。当我扫描标签时,Android 会显示一个选择对话框,哪个应用程序可以处理该标签。但我不希望每次扫描标签时都这样。我想同时使用这两个应用程序,所以我不为标签选择默认值。
所以问题是,我如何扫描标签并将其路由到正确的应用程序。所以标签 A 将由 app A 处理,标签 B 由 app B 处理,而不会每次都获得选择框。
我在想最好的选择应该是什么,或者也许有人有一个好主意如何解决这个问题。
我教过几种不同的解决方案:
仅使用可写的 NDEF 标记并向其添加 Android 应用程序记录 (AAR)。所以它会在扫描后启动正确的应用程序。(如果前台没有 NFC 应用程序处于活动状态)这将意味着用户受限于标签技术,需要在使用前编写它。
让应用程序侦听所有 NFC 标签,如果标签未与任务配对,则将其再次转发给系统,以便其他应用程序可以处理它。(不知道这是否可行)
编写一个侦听所有 NFC 标签的应用程序,并让用户决定将哪个标签发送到哪个应用程序。因此,当应用程序接收到新标签时,它会询问用户哪个应用程序可以处理该标签,并将此特定标签的默认值 [按 ID 或其他内容] 存储到数据库中。所以下次它会将意图路由到这个标签的默认应用程序。(或者已经有类似的东西了?)
希望这个问题有点清楚。否则,如果您愿意,我会尝试进一步澄清;-)
我真的很想听听你对此的看法。或者你有什么好的建议?请告诉我。
提前致谢。