这是我的意图过滤器代码......
<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>
我想要拦截任何具有网址数据类型且网址指向http://mytix.com(或http://www.mytix.com)的NFC标记。
但是上面的代码似乎不起作用。相反,我的NFC标签只是打开浏览器并去问题网址(这是正确的网址!:)我已经检查过了。
如何拦截意图?我最终想要的是一个标签,如果他们没有应用程序,将把用户带到移动网站,但如果他们安装了应用程序,它将直接带到应用程序。我相信我是在正确的路线上,但上面的代码由于某种原因不起作用。
我正在通过Eclipse btw直接建立手机来安装应用程序 - 这有什么不同吗?
由于
汤姆
答案 0 :(得分:1)
我想要拦截任何具有网址数据类型且网址指向http://mytix.com(或http://www.mytix.com)的NFC标记。
尝试NDEF_DISCOVERED
,而不是TAG_DISCOVERED
。 Android将仅支持针对NDEF格式的NFC标签的直接启动。如果您的NFC标签使用其他内容,则无法使用<intent-filter>
AFAIK,而是必须自行解析数据。
Here is a book sample project演示了如何编写NDEF格式标记的URL(通过浏览器应用程序中的“共享页面”选项触发)并响应NDEF格式的标记并写入特定的URL。