gpt4 book ai didi

适用于多种 NFC 类型的 Android Intent 过滤器

转载 作者:行者123 更新时间:2023-11-30 02:34:39 25 4
gpt4 key购买 nike

有人能解释为多种类型的 NDEF 记录设置 Intent 过滤器的语法吗?我有一个 Android 应用程序正在使用“外部”类型记录将二进制数据写入 NFC 标签,但随后该标签连接到主机,该主机以“文本/纯文本”的 mimeType 响应。

我希望能够从 Android 手机读取和写入这两种类型。

如果我只为一种类型设置了 Intent 过滤器并且标签数据对应,我可以读取其中一种(文本/纯文本或 ext),但我不知道如何修改 list 以使应用程序将为这些类型中的任何一种打开。

谢谢。

<activity
android:name="com.example.mYapp.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<!-- <data android:mimeType="text/plain" /> -->
<data android:pathPrefix="/prefix:r" android:host="ext" android:scheme="vnd.android.nfc" />
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

最佳答案

当你想匹配或者一个URI(这是外部类型名称在 Intent 中传递的方式)或者一个MIME类型(text/plain),你需要为它们声明两个单独的 Intent 过滤器。否则,Android 的意向过滤器匹配逻辑只会尝试匹配同时包含 URI 和 MIME 类型的意向。

<activity ...>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:pathPrefix="/prefix:r" android:host="ext" android:scheme="vnd.android.nfc" />
</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 类型的 Android Intent 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26769810/

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