Android 检测何时通过ICS中的NFC启动应用程序

Android 检测何时通过ICS中的NFC启动应用程序,android,nfc,android-4.0-ice-cream-sandwich,Android,Nfc,Android 4.0 Ice Cream Sandwich,ICS引入了使用NFC通过Android Beam共享应用程序的可能性,据我所知,如果应用程序在deviceA上打开,当设备足够近且用户“触摸”Beam时,它将在deviceB上自动启动(如果已经安装,否则市场应用程序将打开)。在启动器活动中,是否有方法检测它是由于NFC消息还是由于用户交互而启动的?当光束发生时,仅启动NFC意图。这些是发现的行动、发现的行动技术或发现的行动标签。查看《开发指南》的beaming部分,了解如何处理beams:如果Android Beam(或NDEF)消息包含An

ICS引入了使用NFC通过Android Beam共享应用程序的可能性,据我所知,如果应用程序在deviceA上打开,当设备足够近且用户“触摸”Beam时,它将在deviceB上自动启动(如果已经安装,否则市场应用程序将打开)。在启动器活动中,是否有方法检测它是由于NFC消息还是由于用户交互而启动的?

当光束发生时,仅启动NFC意图。这些是发现的行动、发现的行动技术或发现的行动标签。查看《开发指南》的beaming部分,了解如何处理beams:

如果Android Beam(或NDEF)消息包含Android应用程序记录,则启动应用程序的最终意图将不是已发现的action\u NDEF\u,而是action\u MAIN。此方法可用于启动任何应用程序,包括不过滤NFC意图的应用程序。

对于今天的懒惰表示抱歉。但这是一个巨大的资源。要点是,你会得到一个不同的意图,所以检查一下NFC标签的动作。我读到了,但没有帮助(或者我真的错过了一些东西)。你评论中的“你会得到一个不同的意图”不是真的,我在通过NFC启动时调试了我的应用程序:动作是
android.intent.action.MAIN
,类别是
android.intent.category.LAUNCHER
,所以是标准的。那么我们怎么知道它是用NFC光束启动的呢@nfc guyYeah..但是当使用AAR时,意图是ACTION_MAIN..它不能与Beam事件区分开来..您应该使AAR成为最后一个(或至少不是第一个)记录,并为第一个记录添加意图过滤器。