【问题标题】:How do I open a link from an NFC tag?如何从 NFC 标签打开链接?
【发布时间】:2019-05-14 18:58:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: android uri nfc ndef google-keep


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您应该在活动中启用深层链接。此外,您应该指出您的活动 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>
      

      【讨论】:

      • 感谢您的回答。但我实际上是想打开 Google Keep 应用程序,我无法访问这些活动。如上所述,该链接在单击或扫描 QR 时按需要工作,但在 NFC 扫描时在浏览器中打开。是否必须明确声明 NFC 被接受为“URI 源”?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-12
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多