1

android开发者指南说

活动应该注册最具体的意图过滤器,以避免活动选择器对话框,这可能会在用户与屏幕交互时破坏与标签的交互。

我正在开发一个应该只选择他的 MIME 类型的应用程序,并且不会显示任何活动选择器非常重要,但我想知道:如果在同一设备中有一个通用的 NFC 阅读器应用程序会发生什么?会显示活动选择器还是我的应用程序刚刚启动?

4

1 回答 1

1

具有与 NDEF 数据匹配的最具体的意图过滤器的应用程序将获胜。因此,如果您注册了一条 MIME 类型为 text/plain 的记录,而另一个活动仅注册了任何 NDEF 数据(android.nfc.action.NDEF_DISCOVERED没有任何数据规范),您的活动将自动显示。

但是请注意,如果一个活动注册为NDEF_DISCOVERED+ MIME 类型text/plain,而第二个活动注册为NDEF_DISCOVERED+ MIME 类型text/*,则两个意图过滤器将被视为相等,并且将显示一个活动选择器。

通常,您可能希望 NFC Forum 外部类型优于 MIME 类型,因为这些类型允许您为记录类型指定唯一域。

于 2013-11-04T15:06:46.297 回答