这是我的意向过滤器代码。。。
<activity android:name="IntentReceiver">
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT" />
<data
android:scheme="http"
android:host="mytix.com"
android:pathPattern="/" />
<data
android:scheme="http"
android:host="www.mytix.com"
android:pathPattern="/" />
</intent-filter>
</activity>
我想做的是拦截任何具有url数据类型并且url指向的NFC标签http://mytix.com(或http://www.mytix.com)。
然而,上面的代码似乎不起作用。相反,我的NFC标签只需打开浏览器,进入有问题的url(这是我检查过的正确url!:)。
如何拦截意图?我最终想要的是一个标签,如果用户没有应用程序,它会把他们带到移动网站,但如果他们安装了应用程序,就会直接带他们到应用程序。我相信我的思路是正确的,但由于某种原因,上面的代码不起作用。
我通过从Eclipse btw直接构建到手机来安装应用程序——这有什么不同吗?
感谢
Tom
我想做的是拦截任何具有url数据类型并且url指向的NFC标签http://mytix.com(或http://www.mytix.com)。
尝试NDEF_DISCOVERED
,而不是TAG_DISCOVERED
。Android将只支持NDEF格式的NFC标签的直接发布。如果你的NFC标签使用了其他东西,你不能使用<intent-filter>
AFAIK,而是必须自己解析数据。
这是一个图书示例项目,演示了将URL写入NDEF格式的标签(通过浏览器应用程序中的"共享页面"选项触发),并使用写入的特定URL响应NDEF格式标签。