我希望我的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类型。)
发布于 2014-04-09 17:29:25
因为这是一个Android Application Record,所以它绕过了所有过滤器。但是,您可以做的是使您的活动实现Foreground Dispatch
使用它,您将打开您的活动,以便截获意图,您将在
public void onNewIntent(Intent intent)当使用意图过滤器方法时,这些意图是通过onResume()传递的,尽管这种情况不同。使用前台调度时,当应用程序实际处于活动状态时,标签通过onNewIntent(Intent intent)传送。
过滤器类型的标记是通过onResume()传递的,因为应用程序是从其他地方启动的。根据标签的不同,意图将具有不同的操作,您可以在the Android SDK Docs上阅读有关该操作的所有信息。
发布于 2013-07-12 23:43:59
也许您可以制作标签,将URI记录添加到NDEF消息的第一条记录中。因为第一条记录是NDEF消息的类型。然后,您可以使用URI intent-filter。
https://stackoverflow.com/questions/17506361
复制相似问题