Table of Contents

MegaTracker 传感器外部控制

默认情况下,MegaTracker 会自动管理加速度计和 GNSS 数据的监听接口。但在某些复杂应用场景中,开发者可能需要手动控制这些接口的开启和关闭,以实现更精细的功耗管理或权限控制。

开始之前

外部控制约束逻辑

在 session 创建 MegaTrackerConfigs 时,可以通过 MegaTrackerSensorOptions 配置传感器的监听接口。

参数名 类型 默认值 说明
isAcceExternalControl boolean false 加速度计是否由外部(开发者)控制。
isGeoExternalControl boolean false GNSS 数据是否由外部(开发者)控制。
提示

适用场景:如果您的应用除了 Mega 功能外,本身不直接订阅传感器数据,建议保持默认值 false,由 Mega 自动处理。

当上述参数设置为 true 时,开发者必须严格遵守以下调用顺序:

  • 启动流程

在调用 start(options) 之前,必须确保已手动开启对应的传感器监听:

在调用 stop() 之后,方可关闭对应的传感器监听:

小心

冲突警告:若设置为 false(Mega 托管),不能在 Session 运行期间调用微信原生的停止传感器接口,否则会导致数据中断。

const megaTrackerSensorOptions: easyar.MegaTrackerSensorOptions = {
    isAcceExternalControl: false,
    isGeoExternalControl: true
};
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
    access: apiKeyAccess,
    options: megaTrackerSensorOptions
};

session = megaComponent.createSession(megaTrackerConfigs);

这个例子演示了如何外部控制开启和关闭微信地理位置数据监听,在调用 start(options)之前,需要调用 wx.startLocationUpdate 以开启微信地理位置数据监听。