Android:我可以使用MIME-Type vnd.bluetooth.ep.oob过滤NFC标签吗?

时间:2013-07-06 19:31:09

标签: android bluetooth nfc

我希望我的Android应用能够对包含蓝牙OOB设置记录的NFC标签做出反应。我的清单包含:

<!-- intent filter for matching an NDEF MIME message. -->
<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="application/vnd.bluetooth.ep.oob"/>
</intent-filter>

但是,当我扫描标签时,应用程序无法启动,而是启动蓝牙连接。有没有办法在我的应用程序中处理这些标签? (注意:例如,URI标签的其他意图过滤器可用于启动我的应用程序,因此它可能特定于此MIME类型。)

2 个答案:

答案 0 :(得分:1)

由于这是Android Application Record,它会绕过所有过滤器。 但 可以做的是让您的活动实现Foreground Dispatch

使用此功能,您可以打开您的活动,以拦截您将在

中收到的意图
public void onNewIntent(Intent intent)

使用意图过滤器方法时,这些意图通过onResume()传递,尽管这种情况不同。 当应用程序实际处于活动状态时,标签在使用Foreground Dispatch时通过onNewIntent(Intent intent)传递。

过滤器类型标签通过onResume()传递,因为应用程序是从其他地方启动的。根据标记,意图将有不同的操作,您可以在the Android SDK Docs阅读所有相关内容。

答案 1 :(得分:0)

也许你可以让标签将URI记录添加到NDEF消息的第一条记录中。因为第一条记录是NDEF消息的类型。然后你可以使用URI intent-filter。