如何从 NFC 标签打开 link?

How do I open a link from an NFC tag?

我想编写一个 NFC 标签,在 Google 中打开特定的笔记。

我有一个 https://keep.google.com/u/0/#LIST/<id> 形式的 URL,它执行打开已安装 Google 上的笔记的所需操作 phone 当我使用 QR-reader 阅读它或单击它作为 link。

当我将此 URL 写入标签并随后触摸标签时,它会在浏览器中打开。 NFC 处理程序是否跳过其他应用程序并直接在浏览器中打开它?当我清除浏览器的应用程序默认值时,它会在点击标签后显示已安装浏览器的选择菜单。有谁知道我做错了什么吗?

您应该在 activity 中启用深层链接。此外,您还应该指出您的 activity NFC 标签可发现,如下所示。您可以通过此 link

了解有关深度链接的任何信息
<activity
        android:name="ExampleActivity"
        android:label="Example">
        <intent-filter android:autoVerify="true">
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

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

            <category android:name="android.intent.category.DEFAULT" />

            <data android:mimeType="text/plain" />
        </intent-filter>
    </activity>

NFC 标签上的链接不会作为具有典型 VIEW 操作的意图启动。因此,其他应用程序可能无法正确选择这些链接,您反而会体验到要打开的网络浏览器。只有专门注册了意图操作 NDEF_DISCOVERED 的应用才能接收来自 NFC 标签的链接。 Google Keep 目前似乎没有这样做,所以如果不创建自己的包装器应用程序来处理这些 URL 并将它们传递给 Google Keep,您将无能为力。