Android NFC 标签 URL 打开浏览器,不是我的应用程序

Android NFC tag with URL opening browser, not my app

我按照说明设置 NFC 以在 Android 上启动我的应用程序。标签中的第一条记录是 url 到我的网站。前任。 example.com

AndroidManifest.xml 文件具有以下意图过滤器:

<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED" />
    <data android:host="example.com" android:scheme="http" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

但无论出于何种原因,当我扫描标签时,android 浏览器打开,而不是我的应用程序。 Android nfc 的文档似乎没有任何额外的步骤 https://developer.android.com/guide/topics/connectivity/nfc/nfc.html

为了它的价值,我正在使用 Apache Cordova 和 phonegap-nfc 插件。

您的 intent 过滤器看起来不错,并且适用于我编写的示例应用程序。系统提示我使用我的应用或 Chrome.

打开标签

我预计您曾告诉 Chrome 打开 http://example.com 标签或所有 URL 标签,现在 Chrome 在您的应用启动之前抓住了意图。

如果通过重置所有应用首选项来解决此问题。 设置 -> 设备 -> 应用程序 -> 菜单 -> "Reset App Preferences" 参见 https://support.google.com/nexus/answer/6271667?hl=en

重置首选项后 Android 在我扫描标签时再次提示我选择一个应用程序。我总是选择使用 NFCLaunch(我的应用程序)完成操作。现在带有 http://example.com 的标签打开我的应用程序,但带有 http://android.com 的其他标签仍将在 Chrome.

中打开

另一种选择是:禁用Chrome,扫描标签,选择应用程序,re-enable Chrome。