Android 上的内置条形码扫描仪应用程序(我认为是基于 zxing)读取 QR 码并将该数据启动到基于前导文本的应用程序中。例如,“BEGIN:VCAL”可能会启动一个日历应用程序;“http:”可能会启动浏览器。
如何“注册”我的应用程序,以便操作系统(或条形码应用程序)将其调用为特定类型(即前导字符)的 QR 码文本?
如何“注册”我的应用程序,以便操作系统(或条形码应用程序)将其调用为特定类型(即前导字符)的 QR 码文本?
至少对于 ZXing 的条码扫描仪,你不知道,据我所知。类名册ResultHandler
及其到给定前缀的映射被硬编码在ResultHandlerFactory
和中ParsedResultType
。
上面的评论大多是正确的。但是,该应用程序内部不处理任何操作。最后,它会为所有操作触发某种 Intent,例如添加联系人、打开 URL、添加日历事件。通过注册以处理这些Intent,您可以以正常方式 (AndroidManifest.xml) 向 Android 注册以处理这些操作。
如果它是非常定制的东西,也许可以为它定义一个新的 URL 方案,如“foobar:/...”。然后在 AndroidManifest.xml 中注册以处理此类 URI 以获得相同的效果。