如何打开NFC标签中的链接?

时间:2019-05-14 18:58:24

标签: android uri nfc ndef google-keep

我想编写一个NFC标签,以便在触摸时在Google Keep中打开特定的笔记。

我有一个https://keep.google.com/u/0/#LIST/<id>形式的URL,当我用QR阅读器阅读该笔记或单击它作为链接时,它会执行所需的操作以在手机上已安装的Google Keep应用中打开笔记。

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:-1)

您应在活动中启用深层链接。另外,您还应按以下说明指示可发现的活动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>