如果使用Android应用程序记录(AAR),则意图操作
android.intent.action.MAIN
所以我不知道这是正常启动还是nfc启动。
我需要在我的活动中做一些不同的事情,无论是正常启动还是在nfc标签读取之后。如果手机上有另一个具有相同意图过滤器的应用程序,我也不想显示选择应用程序的提示,例如:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain" />
</intent-filter>
答案 0 :(得分:6)
如果您将AAR 不作为NDEF消息的第一条记录(所以第二条记录或更晚),并在清单中为NDEF消息的第一条记录放置一个NDEF_DISCOVERED意图过滤器,从标记启动时,您的应用程序将获得NDEF_DISCOVERED意图。意图将包含EXTRA,其中包含标记的句柄和完整的NDEF消息。
如果AAR是第一条记录,则会向应用程序发送ACTION_MAIN意图。此意图不会在EXTRAs中包含任何标记或NDEF消息。
要防止您的应用在扫描其他NFC标签时显示,请确保第一个NDEF记录的类型对您的应用而言是唯一的,并对其进行过滤。 External Type专为此目的而设计。 (由于标记中的AAR,扫描时不会显示其他任何应用。)
答案 1 :(得分:-3)
[编辑]:
检查您的意图中的有效负载:EXTRA_TAG或EXTRA_NDEF_MESSAGES
如果意图来自NFC事件,则总是会设置此额外值。
[过时]:
使用 getIntent() 并检查它 action