动态传感器后端注册

静态后端注册

传感器后端通常以静态方式注册。注册发生在第一次使用传感器库时,并且在程序运行期间一直有效。

静态注册的后端仍然可能表现出一些动态行为,因为QSensorBackendFactory 可以自由返回 0 来表示无法创建后端。

动态后端注册

尽管静态注册对大多数后端来说是可行的,但在某些情况下这可能会出现问题。

最明显的例子是表示非固定硬件的后端。例如,通过蓝牙连接的游戏控制器。由于手机可能存在多个游戏控制器,程序希望记录使用特定游戏控制器。如果已静态注册后端,则无法提供关于控制器的唯一信息。相反,注册将延迟到控制器被看到。

建议的注册策略

固定硬件的后端应立即注册。应用程序可以看到可以使用传感器。

远程硬件的后端不应立即注册。应用程序可以看到不能使用传感器。当远程硬件变得可用时,应该注册后端。应用程序可以看到传感器现在可用。

如果必须从注册的后端工厂返回 0,则应注销后端。应用程序可以看到传感器不再可用。如果工厂可以再次创建后端,则应重新注册。应用程序可以看到传感器再次可用。

当底层硬件不再可用时,应该注销后端。现有后端实例应向应用程序报告错误状态,但应优雅地处理情况。

© 2024 Qt 公司有限公司。此处包含的文档贡献的版权属于其各自的拥有者。此处提供的文档是根据由自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 以及相应的商标是芬兰 Qt 公司及其它国家/地区的商标。所有其他商标均为其各自所有者的财产。