gpt4 book ai didi

android - NFC 中的 AAR 记录 : Where's The Payload?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:51:18 25 4
gpt4 key购买 nike

根据 this answer ,并通过测试验证,当您使用 Android Beam 推送包含 AAR 记录的 NFC 消息时,接收设备将启动指定应用程序的 MAIN/LAUNCHER Activity 在 AAR 中。

MAIN/LAUNCHER Intent 不包含 NfcAdapter.EXTRA_NDEF_MESSAGES 额外内容。因此,如果您使用 AAR,我们千方百计传送过来的数据似乎会丢失。

在这种情况下,有什么方法可以获取触发应用程序启动的 NFC 消息吗?

如果答案是“否”,那么 AAR 的用例是什么?当接收设备上不存在所需的应用程序(调出 Play Store)时,我可以看到它可能在哪里有用,但是一旦安装了该应用程序,AAR 就会阻止任何将数据从一个设备传输到另一个设备的尝试,这是有点像 NFC 背后的意义。

谢谢!

最佳答案

冒着回答我自己的问题的风险,让它发挥作用的一个方法(显然)是:

  • 让 Beam 发送者使用带有两个 NFC 记录的 NFC 消息,第一个包含唯一 MIME 类型的内容,第二个是 AAR

  • 让 Beam 接收者有一个 <intent-filter>在响应第一个 NFC 记录的 Activity 上,例如通过:

        <intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED"/>

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

    <data android:mimeType="application/vnd.commonsware.webbeam"/>
    </intent-filter>

如果应用已经存在,NDEF_DISCOVERED Intent将被使用,接收者可以拿起 NFC 消息并从初始记录中提取数据。如果应用不存在,AAR 将启动,调出 Play 商店(无论您的应用是否通过 Play 商店分发)。

这是显示的食谱 in the Android Beam example on the developer site .

关于android - NFC 中的 AAR 记录 : Where's The Payload?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10887275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com