Control externo de sensores de MegaTracker
De forma predeterminada, MegaTracker administra automáticamente las interfaces de escucha de datos de acelerómetro y GNSS. Sin embargo, en algunos escenarios de aplicación complejos, los desarrolladores pueden necesitar controlar manualmente la activación y desactivación de estas interfaces para una gestión de energía o control de permisos más precisos.
Antes de empezar
- Conozca los conceptos y el workflow de MegaTracker
Lógica de restricciones del control externo
Al crear MegaTrackerConfigs para una session, puede configurar las interfaces de escucha de sensores mediante MegaTrackerSensorOptions.
| Nombre del parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| isAcceExternalControl | boolean |
false |
Indica si el acelerómetro es controlado externamente por el desarrollador. |
| isGeoExternalControl | boolean |
false |
Indica si los datos GNSS son controlados externamente por el desarrollador. |
Consejo
Escenario aplicable: si su aplicación, aparte de las funciones Mega, no se suscribe directamente a datos de sensores, se recomienda mantener el valor predeterminado false y dejar que Mega lo gestione automáticamente.
Cuando los parámetros anteriores se establecen en true, los desarrolladores deben seguir estrictamente el siguiente orden de llamadas:
- Flujo de inicio
Antes de llamar a start(options), debe asegurarse de haber habilitado manualmente el listener del sensor correspondiente:
Acelerómetro: llame a wx.startAccelerometer.
GNSS: llame a wx.startLocationUpdate.
Flujo de parada
Solo después de llamar a stop() puede desactivar el listener del sensor correspondiente:
Acelerómetro: llame a wx.stopAccelerometer.
GNSS: llame a wx.stopLocationUpdate.
Precaución
Advertencia de conflicto: si se establece en false (gestionado por Mega), no llame a interfaces nativas de WeChat para detener sensores mientras Session esté en ejecución, de lo contrario puede producirse una interrupción de datos.
const megaTrackerSensorOptions: easyar.MegaTrackerSensorOptions = {
isAcceExternalControl: false,
isGeoExternalControl: true
};
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess,
options: megaTrackerSensorOptions
};
session = megaComponent.createSession(megaTrackerConfigs);
Este ejemplo muestra cómo controlar externamente la activación y desactivación de la escucha de datos de geolocalización de WeChat. Antes de llamar a start(options), llame a wx.startLocationUpdate para habilitarla.