Externe Sensorsteuerung von MegaTracker
Standardmäßig verwaltet MegaTracker die Listener-Schnittstellen für Beschleunigungsmesser- und GNSS-Daten automatisch. In bestimmten komplexen Anwendungsszenarien müssen Entwickler diese Schnittstellen jedoch möglicherweise manuell ein- und ausschalten, um eine feinere Energieverwaltung oder Berechtigungssteuerung zu erreichen.
Bevor Sie beginnen
- Lernen Sie Konzepte und Workflow von MegaTracker kennen
Einschränkungslogik für externe Steuerung
Beim Erstellen von MegaTrackerConfigs für eine session können die Sensor-Listener-Schnittstellen über MegaTrackerSensorOptions konfiguriert werden.
| Parametername | Typ | Standardwert | Beschreibung |
|---|---|---|---|
| isAcceExternalControl | boolean |
false |
Ob der Beschleunigungsmesser extern vom Entwickler gesteuert wird. |
| isGeoExternalControl | boolean |
false |
Ob GNSS-Daten extern vom Entwickler gesteuert werden. |
Tipp
Geeignetes Szenario: Wenn Ihre Anwendung außer Mega-Funktionen Sensordaten nicht direkt abonniert, empfiehlt es sich, den Standardwert false beizubehalten und Mega die automatische Verarbeitung zu überlassen.
Wenn die obigen Parameter auf true gesetzt sind, müssen Entwickler die folgende Aufrufreihenfolge strikt einhalten:
- Startablauf
Vor dem Aufruf von start(options) muss sichergestellt werden, dass der entsprechende Sensor-Listener manuell aktiviert wurde:
Beschleunigungsmesser: wx.startAccelerometer aufrufen.
GNSS: wx.startLocationUpdate aufrufen.
Stoppablauf
Erst nach dem Aufruf von stop() darf der entsprechende Sensor-Listener deaktiviert werden:
Beschleunigungsmesser: wx.stopAccelerometer aufrufen.
GNSS: wx.stopLocationUpdate aufrufen.
Vorsicht
Konfliktwarnung: Wenn der Wert false ist (von Mega verwaltet), dürfen während der laufenden Session keine nativen WeChat-Schnittstellen zum Stoppen von Sensoren aufgerufen werden, da sonst eine Datenunterbrechung auftreten kann.
const megaTrackerSensorOptions: easyar.MegaTrackerSensorOptions = {
isAcceExternalControl: false,
isGeoExternalControl: true
};
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess,
options: megaTrackerSensorOptions
};
session = megaComponent.createSession(megaTrackerConfigs);
Dieses Beispiel zeigt, wie das Aktivieren und Deaktivieren des WeChat-Geolokalisierungsdaten-Listeners extern gesteuert wird. Vor dem Aufruf von start(options) muss wx.startLocationUpdate aufgerufen werden, um den Listener zu aktivieren.