Control externo de sensores de MegaTracker
Por defecto, MegaTracker gestiona automáticamente las interfaces de escucha de datos del acelerómetro y GNSS. Sin embargo, en escenarios de aplicaciones complejas, los desarrolladores pueden necesitar controlar manualmente la activación/desactivación de estas interfaces para lograr una gestión de energía más precisa o control de permisos.
Antes de comenzar
- Comprender Concepto y flujo de trabajo de MegaTracker
Lógica de restricciones de control externo
Al crear una sesión MegaTrackerConfigs, se pueden configurar las interfaces de escucha de sensores mediante MegaTrackerSensorOptions.
| Nombre del parámetro | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| isAcceExternalControl | boolean |
false |
Si el acelerómetro es controlado externamente (por el desarrollador). |
| isGeoExternalControl | boolean |
false |
Si los datos GNSS son controlados externamente (por el desarrollador). |
Consejo
Escenario aplicable: Si su aplicación no utiliza directamente datos de sensores además de las funciones de Mega, se recomienda mantener el valor predeterminado false para que Mega gestione automáticamente.
Cuando los parámetros anteriores se establecen en true, los desarrolladores deben seguir estrictamente este orden de llamadas:
- Flujo de inicio
Antes de llamar a start(options), debe asegurarse de haber activado manualmente la interfaz de escucha del sensor correspondiente:
Acelerómetro: Llame a wx.startAccelerometer.
GNSS: Llame a wx.startLocationUpdate.
Flujo de detención
Después de llamar a stop(), puede desactivar la interfaz de escucha 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 las interfaces nativas de Weixin para detener sensores durante la ejecución de la sesión, ya que esto interrumpirá los datos.
const megaTrackerSensorOptions: easyar.MegaTrackerSensorOptions = {
isAcceExternalControl: false,
isGeoExternalControl: true
};
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess,
options: megaTrackerSensorOptions
};
session = megaComponent.createSession(megaTrackerConfigs);
Este ejemplo demuestra cómo controlar externamente la activación/desactivación de la escucha de datos de ubicación de Weixin. Antes de llamar a start(options), debe llamar a wx.startLocationUpdate para activar la escucha.