我想知道是否有任何方法可以将一串文本(URL)保存到 NFC 标签(例如 MIFARE 或 NTAG203),该标签可以被其他设备(智能手机)读取,而不需要任何特殊的标签读取应用程序。
我测试了几个应用程序,例如Android 触发器,并注意到,如果读取标签的设备没有从标签读取数据/指令所需的应用程序,它仍然会打开一个 URL,将您发送到 Play 商店以下载该应用程序。
因此,必须有一种方法来保存所有/部分支持 NFC 的手机可读的数据。简而言之,我想创建一个 Android 应用程序,它将数据写入 NFC 标签,并且数据可以由随机支持 NFC 的手机读取/打开/执行。
那么是否可以准备一个 NFC 标签来触发读取设备上的某些操作,而不需要特定的应用程序?我可以使用应用程序在 NFC 标签上写入什么类型的数据来实现此目的?
首先,总的来说,我同意 CommonsWare 的观点,即它始终是一个处理 NFC 事件的“特殊”应用程序。然而,在研究 Android 时,我会将 AOSP 的各种平台应用程序视为 Android 系统的一部分。尽管并非所有这些都可以在所有设备上使用。
查看 Android 4.4+,此类系统应用程序处理以下数据类型:
- 浏览器:具有“http:”和“https:”方案的 URI。
- 联系人和拨号器:用于导入联系人的 MIME 类型“text/vcard”和“text/x-vcard”。
- 电子邮件:带有方案“mailto:”的 URI
此外,如果没有其他应用程序处理某个标签,NFC 设备应该(?)具有标签应用程序,该应用程序尝试处理各种类型(根据用户确认):
- 具有方案“tel”的 URI 将导致 ACTION_CALL 意图呼叫给定号码。
- 具有“sms”/“smsto”方案的 URI 将导致 ACTION_SENDTO 意图开始编辑 SMS 消息。
- 其他 URI 应该(?)在 ACTION_VIEW 意图中转发。
- 类型为“text/x-vcard”的 MIME 类型记录(如果尚未处理)应在 ACTION_VIEW 意图中转发。
- 文本 RTD 记录的文本消息(不是文本/* MIME 类型!)应显示在标签应用程序中。不幸的是,许多愚蠢的(!)NFC 应用程序注册文本记录,因此您通常无法访问标签应用程序。
- 类型为 image/* 的 MIME 类型记录(如果 Android 支持图像类型)应显示在标签应用程序中。
一些记录由 NFC 服务本身处理(这在 Android 上应该始终可用):
- Android 应用程序记录(类型名称为“urn:nfc:ext:android.com:pkg”的 NFC 论坛外部类型)会导致发送带有 URI“market://details?id={PACKAGE_NAME}”的 ACTION_VIEW 意图。
- 类型名称为“urn:nfc:nokia.com:bt”的 NFC 论坛外部类型将被解析以进行蓝牙连接切换。
- 以切换选择 RTD 记录开头并包含“application/vnd.bluetooth.ep.oob”类型的 MIME 类型记录的 NDEF 消息将被解析以进行蓝牙连接切换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)