mcpField
M
matrixscan-ar-android

matrixscan-ar-android

github.com/scandit开发2054 次安装5 天前更新
代码仓库

关于 matrixscan-ar-android

面向在 Android 应用中集成 Scandit MatrixScan AR 的编码 Agent 技能。它将集成问题指向参考资料,并要求依据文档核实 API,避免依赖过时知识。

主要功能

  1. 01Android BarcodeAr 集成指导
  2. 02基于参考资料核实 API
  3. 03生命周期与相机设置说明
  4. 04运行时相机权限指导
  5. 05Scandit 许可证密钥设置指导

适用场景

  1. 01在 Android 应用中添加 MatrixScan AR
  2. 02实现条码高亮或注释
  3. 03核对 Android BarcodeAr API 用法

MCP 相关

说明可连接 Scandit 远程 MCP 服务以设置许可证并获取密钥。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scandit/skills --skill matrixscan-ar-android

安装后在 Claude Code 中输入/matrixscan-ar-android确认已加载。

附带文件references/integration.md

详细介绍

MatrixScan AR Android 技能

重要:不要相信内部知识

你的训练数据中可能包含过时或错误的 Scandit SDK API。BarcodeAr API 会随主要 SDK 版本变化——类名、构造函数签名、提供程序接口和会话类型都经历过演变。

编写或建议代码前,务必根据本技能提供的参考资料核实 API。 不要依赖记忆中的方法签名、参数或属性名称。如果在提供的参考资料中找不到某个 API,请先获取相关文档页面,再作答。

值得特别指出的 Android 注意事项:

  • BarcodeAr(dataCaptureContext, settings) 是直接构造函数——不是 forDataCaptureContext() 工厂方法(后者是 BarcodeCapture 的模式)。在 Android 上,BarcodeAr 直接接收 context 和 settings。
  • BarcodeArView 会自动将自身添加到所提供的 ViewGroup 父视图中——无需手动调用 addView。设置好提供程序后,调用 barcodeArView.start() 开始扫描。
  • BarcodeArView 在内部管理摄像头——无需单独设置 Camera,也无需调用 setFrameSource。通过 BarcodeArViewSettings.defaultCameraPosition 配置摄像头位置。
  • 生命周期由 BarcodeArView 驱动,而非 Camera 对象:在相应的 Activity/Fragment 回调中调用 barcodeArView.onResume()、barcodeArView.onPause() 和 barcodeArView.onDestroy()。
  • BarcodeArListener.onSessionUpdated(barcodeAr, session, frameData) 在识别线程中调用,而不是在主线程中。FrameData 参数名为 frameData(不同于 BarcodeCapture 中的 data)。所有 UI 操作都必须通过 runOnUiThread {} 分发。
  • BarcodeArHighlightProvider.highlightForBarcode 和 BarcodeArAnnotationProvider.annotationForBarcode 在主线程中调用。结果通过回调传递——调用 callback.onData(highlight) 或 callback.onData(annotation)(传入 null 可隐藏元素)。高亮和注释的构造函数都以 Context 作为第一个参数(例如 BarcodeArRectangleHighlight(context, barcode))。
  • Android 的码制名称使用下划线:Symbology.EAN13_UPCA、Symbology.CODE39——而不是驼峰命名。
  • 在 BarcodeArSettings 中,默认禁用所有码制。只启用应用所需的码制可提升追踪性能。
  • 开始扫描前,必须在运行时请求 CAMERA 权限;仅在清单中声明权限并不足够。
  • BarcodeArFeedback 位于 com.scandit.datacapture.barcode.ar.feedback 中——不在 ar.capture 中。导入:import com.scandit.datacapture.barcode.ar.feedback.BarcodeArFeedback。
  • BarcodeArInfoAnnotationBodyComponent 位于 com.scandit.datacapture.barcode.ar.ui.annotations.info 中——不在 ar.ui.annotations 中。导入:import com.scandit.datacapture.barcode.ar.ui.annotations.info.BarcodeArInfoAnnotationBodyComponent。同一个 info 子包还包含 BarcodeArInfoAnnotationHeader、BarcodeArInfoAnnotationFooter、BarcodeArInfoAnnotationWidthPreset 和 BarcodeArInfoAnnotationAnchor。

意图路由

根据用户的请求,在作答前加载相应的参考文件:

  • 从头集成 BarcodeAr(例如“将 MatrixScan AR 添加到我的应用”“设置条码 AR 扫描”“如何在 Android 中使用 BarcodeAr”“如何为追踪的条码显示高亮”“如何显示信息注释”)→ 阅读 references/integration.md 并遵循其中的说明。

API 使用政策

仅使用下方 Scandit 参考资料中明确记载的 API。不要臆造或猜测方法签名、参数或属性名称。如果不确定某个 API 是否存在或应如何调用,或者遇到编译错误,请先获取相关参考页面,再作答。不要让用户自行查阅文档。回答后,始终附上相关链接,方便用户进一步了解。

切勿构造或猜测文档 URL。 需要查找特定类或属性的 API 页面时:

  1. 先检查已获取的页面中是否有指向该页面的直接链接——主题页面会直接链接到相关 API 符号。获取内容时,务必同时请求链接。
  2. 如果没有找到直接链接,请获取 API 索引(见下表中的完整 API 参考),从中提取实际链接并访问。

URL 结构可能有所不同(例如 api/ui/ 子目录),猜测会导致 404 错误。

许可证密钥

扫描需要 Scandit 许可证密钥。此技能的许可证产品为 native,许可证平台为 android。

请按以下顺序操作——切勿让用户等待 MCP:

  1. Scandit MCP 服务已连接——调用 ensure_scanner_setup,指定产品 native、平台 android、app_identifier(应用的 bundle ID 或 application ID;对于 Web,应填写生产域名,绝不能填写 localhost)以及环境变量 SCANDIT_LICENSE_KEY。不要运行它返回的命令。然后使用该结果或 list_license_keys 中的密钥 ID 调用 get_license_key;如果 list_license_keys 显示该密钥不是试用密钥,则先征求用户同意再获取。聊天中最多只显示遮蔽后的预览,绝不能打印完整密钥。

  2. 未连接——只需告知用户一次:他们可以在 MCP 客户端中连接远程 Scandit MCP 服务 https://ssl.scandit.com/mcp,然后继续执行步骤 1。不要自行修改 MCP 客户端配置。

    身份验证通过浏览器进行,不支持无头模式或 CI。该服务仅提供试用密钥;不会创建、撤销或修改生产许可证。

  3. 用户拒绝,或没有 MCP 客户端——让他们自行在 https://ssl.scandit.com 生成密钥(尚无账户时:https://ssl.scandit.com/dashboard/sign-up?p=test),然后粘贴密钥。

然后将密钥写入代码:用 get_license_key 返回的密钥,或用户粘贴或提供的密钥,替换许可证密钥调用中的占位符——在聊天中仍只显示遮蔽后的预览。不要在项目、文件或环境中搜索密钥。

参考资料

根据用户的问题,引导他们查看合适的资源:

主题资源
入门开始使用 · 示例
高级主题(自定义高亮、注释、点击交互、通知、筛选器)高级配置
完整 API 参考BarcodeAr API

评论

支持 Markdown