Controllo esterno dei sensori di MegaTracker
Per impostazione predefinita, MegaTracker gestisce automaticamente le interfacce di ascolto dei dati di accelerometro e GNSS. Tuttavia, in alcuni scenari applicativi complessi, gli sviluppatori potrebbero dover controllare manualmente l'apertura e la chiusura di queste interfacce per una gestione più fine dei consumi o dei permessi.
Prima di iniziare
Logica dei vincoli di controllo esterno
Quando si crea MegaTrackerConfigs per una session, è possibile configurare le interfacce di ascolto dei sensori tramite MegaTrackerSensorOptions.
| Nome parametro | Tipo | Valore predefinito | Descrizione |
|---|---|---|---|
| isAcceExternalControl | boolean |
false |
Indica se l'accelerometro è controllato esternamente dallo sviluppatore. |
| isGeoExternalControl | boolean |
false |
Indica se i dati GNSS sono controllati esternamente dallo sviluppatore. |
Consiglio
Scenario applicabile: se l'applicazione, oltre alle funzioni Mega, non sottoscrive direttamente dati dei sensori, si consiglia di mantenere il valore predefinito false e lasciare che Mega li gestisca automaticamente.
Quando i parametri precedenti sono impostati su true, gli sviluppatori devono rispettare rigorosamente il seguente ordine di chiamata:
- Flusso di avvio
Prima di chiamare start(options), assicurarsi che il listener del sensore corrispondente sia stato abilitato manualmente:
Accelerometro: chiamare wx.startAccelerometer.
GNSS: chiamare wx.startLocationUpdate.
Flusso di arresto
Solo dopo aver chiamato stop() è possibile disabilitare il listener del sensore corrispondente:
Accelerometro: chiamare wx.stopAccelerometer.
GNSS: chiamare wx.stopLocationUpdate.
Attenzione
Avviso di conflitto: se impostato su false (gestito da Mega), non chiamare le interfacce native WeChat per arrestare i sensori durante l'esecuzione della Session, altrimenti si può interrompere il flusso dati.
const megaTrackerSensorOptions: easyar.MegaTrackerSensorOptions = {
isAcceExternalControl: false,
isGeoExternalControl: true
};
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess,
options: megaTrackerSensorOptions
};
session = megaComponent.createSession(megaTrackerConfigs);
Questo esempio mostra come controllare esternamente l'attivazione e la disattivazione dell'ascolto dei dati di geolocalizzazione WeChat. Prima di chiamare start(options), chiamare wx.startLocationUpdate per abilitarlo.