Kanzi 3.9.16 迁移指南¶
使用此迁移指南将 Kanzi 应用程序从 Kanzi 3.9.15 更新到 Kanzi 3.9.16。
对应用程序输入事件的更改¶
为了与应用程序状态保持一致,应用程序输入事件
sleep和wakeup已重命名为paused和resumed。请更改代码中的事件类型和函数调用以使用新名称:Kanzi 3.9.15
Kanzi 3.9.16
InputEvent::Type::ApplicationSleepInputEvent::Type::ApplicationWakeupaddApplicationSleepEvent()addApplicationWakeupEvent()之前未使用的
InputEvent::Type::ApplicationPaused事件现在用于报告应用程序已暂停并已转换到MainLoopState::Paused。此事件承担之前由ApplicationSleep承担的功能。
对 Kanzi 文档 MCP 服务器的更改¶
新的统一 Kanzi 文档 MCP 服务器已在 https://docs.mcp.kanzi.com/mcp 提供,并在 https://docs.kanzi.com/mcp/kanzi-docs-mcp.zip 提供适用于 Claude Desktop 的新 mcpb 包。新端点支持所有已加载的 Kanzi 版本。
现有的特定版本 URL(kanzi-docs-mcp-v3-9.* 和 kanzi-docs-mcp-v4-0.*)仍受支持。要使用新的集成,请迁移到统一 URL。请参阅 Kanzi 文档 MCP 服务器。
如果您之前在 MCP 客户端配置中添加了特定版本的条目(例如 kanzi-docs-v3-9 或 kanzi-docs-v4-0),请在添加统一的 kanzi-docs 条目后移除这些条目。保留重复的条目可能导致客户端启动时挂起。
QNX 触摸输入的更改¶
Kanzi 3.9.16 重新设计了 QNX 屏幕平台报告触摸输入的方式。此更改仅限于 QNX 平台后端内部,无需更改 Kanzi API 或构建配置。如果您的应用程序在 QNX 屏幕上运行,并且依赖于其接收的触摸事件的具体细节,请查看以下行为更改:
触摸点 ID 现在由 Kanzi 分配,而不再直接传递原生 QNX 联系人 ID。请将
TouchEvent::TouchPoint的id视为不透明句柄,该句柄仅在单个接触的生命周期内保持稳定。如果您的应用程序曾保存或比较之前在 QNX 上发出的数字触摸 ID,请更新该逻辑。移除了之前最多十个同时触摸点的限制。如果硬件报告超过十个并发触摸点,您的应用程序现在可以接收这些触摸点。请检查所有假定最多十个接触的逻辑。
静止的接触不再生成移动事件。按住但不动的手指仅在其位置实际发生变化时才会被报告。如果您的应用程序依赖于为静止接触接收连续的移动事件,请改用当前触摸点的状态和位置,而不是事件频率。
当 Activity Host 在没有动画的情况下激活或停用时,Activity 触发器会运行¶
现在,Activity 节点在其状态发生变化的所有情况下都会报告其状态。以前,当 Activity Host 在没有动画的情况下激活或停用 Activity 节点时,Activity 节点会更改其 Activity Status 属性,但不发送 ActivityConcept::ActivityActivatedMessage、ActivityConcept::ActivityDeactivatedMessage 或 ActivityConcept::StatusChangedMessage。
API 没有更改,但之前静默地从未运行的逻辑现在会运行。这会影响以下对象上的 Activated 和 Deactivated Activity 触发器、上述消息的消息处理程序,以及 ActivityCodeBehind 状态回调 onActive 和 onInactive:
Parallel Activity Host 中的 Activity。
您停用的 Activity 的子 Activity。即使仍会跳过 Active -> Deactivating 和 Deactivating -> Inactive 迁移,它们的 Deactivated 触发器现在也会运行。
在处于激活状态时 prefab 路径发生变化的任何 Activity,例如在 Activity Template 更改时,或在 Kanzi Studio Preview 实时编辑期间。
在不处于 Inactive 状态时离开节点树的任何 Activity 节点,包括应用程序关闭时的情况。
请检查 Activity 的 Activated 和 Deactivated 触发器逻辑以及 Code Behind 状态回调,找出假定这些情况永远不会触及它们的动作。获取和释放资源的动作(例如打开和关闭连接)最有可能改变行为。
在 MCP 服务器中选择 Kanzi 版本的更改¶
两个 Kanzi MCP 服务器都不再在调用之间记住 Kanzi 版本。set_kanzi_version 和 set_version 不再切换后续调用所使用的版本,而是确认某个版本可用并报告其内容。查询工具改为接受可选的 version 参数,例如 version="3.9.16"。当调用省略 version 时,服务器会按其可用的最新版本进行回答。此更改源自 Model Context Protocol 的 2026-07-28 修订版,该修订版移除了协议级会话。
两个服务器都是共享服务,因此此更改适用于它们所服务的每个 Kanzi 版本,而不仅限于 3.9.16。
两个服务器的设置方式都没有变化,也无需更新任何客户端配置。如果您曾为 AI 助手提供在查询前调用 set_kanzi_version 或 set_version 的说明,请将其替换为在每次调用时传递 version 的说明。您可能在 CLAUDE.md 或 .github/copilot-instructions.md 中编写过此类说明。否则,助手会静默地收到针对最新 Kanzi 版本而非您所用版本的回答。有关为助手提供的说明示例,请参阅 配置 AI 助手 一节;相同的方法也适用于文档服务器。