FitBit应用程序刚刚推出了新的NFC功能,现在,即使我的应用程序和我在设备上安装的其他几个应用程序都已注册(在清单中)作为NFC应用程序,Android不再询问我哪个应用程序我当我将NFC标签扫描到我的设备时,我想直接使用FitBit。
我很好奇他们可以做什么来覆盖清单中的设置。是否有某种方式可以运行支配NFC的服务并吞下所有传入的NFC意图?
我希望有一些方法可以破坏他们目前正在做的事情,实际上,他们的应用程序是恶意软件,打破了Android上基本的NFC功能。
答案 0 :(得分:1)
服务无法接收NFC意图,因此不能成为您所看到的原因。据我所知,FitBit应用程序过滤了MIME类型为“text / plain”的NFC事件。因此,如果您的NFC标签包含NDEF文本记录,它可能会启动FitBit,或者如果使用相同的NFC意图过滤器和“text / plain”安装更多应用程序,则会显示相关应用程序的应用程序选择器。
尝试扫描具有不同内容的其他标记,或者将标记上的内容更改为其他类型的NDEF消息,看看会发生什么。
答案 1 :(得分:1)
我有一个应用程序,其特定的意图过滤器用于其中一项活动:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="duckapp" />
</intent-filter>
如果扫描带有以duckapp://
开头的网址的广告代码,即使我安装了TagInfo等其他NFC应用,我的应用活动也会直接启动。
我不确定。但似乎如果一个活动具有比所有其他应用程序更具体的意图过滤器,则它直接启动。
如果有人知道这个机制的准确文件,我很高兴听到它。