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 以開啟微信地理位置資料監聽。