Controle externo de sensores do MegaTracker
Por padrão, o MegaTracker gerencia automaticamente as interfaces de escuta de dados do acelerômetro e do GNSS. No entanto, em alguns cenários de aplicativos complexos, os desenvolvedores podem precisar controlar manualmente a abertura e o fechamento dessas interfaces para obter um gerenciamento de energia mais refinado ou controle de permissões.
Antes de começar
- Entenda os conceitos e fluxo de trabalho do MegaTracker
Lógica de restrição de controle externo
Ao criar uma sessão MegaTrackerConfigs, você pode configurar as interfaces de escuta do sensor por meio de MegaTrackerSensorOptions.
| Nome do parâmetro | Tipo | Valor padrão | Descrição |
|---|---|---|---|
| isAcceExternalControl | boolean |
false |
Se o acelerômetro é controlado externamente (pelo desenvolvedor). |
| isGeoExternalControl | boolean |
false |
Se os dados GNSS são controlados externamente (pelo desenvolvedor). |
Dica
Cenário de aplicação: Se o seu aplicativo não assina diretamente os dados do sensor além das funcionalidades do Mega, é recomendável manter o valor padrão false, que será tratado automaticamente pelo Mega.
Quando os parâmetros acima são definidos como true, os desenvolvedores devem seguir estritamente a seguinte ordem de chamada:
- Fluxo de inicialização
Antes de chamar start(options), você deve garantir que o monitoramento do sensor correspondente tenha sido ativado manualmente:
Acelerômetro: Chame wx.startAccelerometer.
GNSS: Chame wx.startLocationUpdate.
Fluxo de parada
Após chamar stop(), você pode desligar o monitoramento do sensor correspondente:
Acelerômetro: Chame wx.stopAccelerometer.
GNSS: Chame wx.stopLocationUpdate.
Cuidado
Aviso de conflito: Se definido como false (gerenciado pelo Mega), não chame a interface nativa do WeChat para parar o sensor durante a execução da sessão, caso contrário, causará interrupção dos dados.
const megaTrackerSensorOptions: easyar.MegaTrackerSensorOptions = {
isAcceExternalControl: false,
isGeoExternalControl: true
};
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess,
options: megaTrackerSensorOptions
};
session = megaComponent.createSession(megaTrackerConfigs);
Este exemplo demonstra como controlar externamente a ativação e desativação do monitoramento de dados de localização do WeChat. Antes de chamar start(options), você precisa chamar wx.startLocationUpdate para ativar o monitoramento de dados de localização do WeChat.