Use dados sintéticos gerados pelos Recursos de saúde no Wear OS para testar o app como se um exercício estivesse realmente acontecendo.
Se você estiver testando um emulador com o Wear OS 4 (nível 33 da API) ou o Wear OS 3 (nível 30 da API), poderá usar dados sintéticos gerados pelo emulador. Consulte o guia abaixo para saber mais sobre as diferenças entre a geração de dados sintéticos do Wear OS 3 e do Wear OS 4.
Usar dados sintéticos no Wear OS 4
Se você estiver testando um emulador com o Wear OS 4 (API 33), poderá usar dados sintéticos gerados pelo emulador para testar seu app. Isso apresenta várias melhorias na forma como os dados sintéticos são gerados no Wear OS 3:
A geração de dados sintéticos no Wear OS 4 é integrada ao ciclo de vida da API Health Services. Isso significa que não é necessário que comandos adb iniciem ou interrompam o exercício. Em vez disso, você pode iniciar ou interromper o exercício no app, como um usuário faria.
Suporte expandido a eventos de exercício: você pode simular o recebimento de eventos de pausa e retomada automática, eventos de queda, detecção de sono e detecção de tacadas de golfe.
Use os controles no app para iniciar, pausar e encerrar a geração de dados sintéticos.
Além disso, o emulador gera os mesmos valores de dados para cada exercício.
Simular eventos
Você pode simular vários eventos no emulador, como AUTO_PAUSE_DETECTED
.
O comando a seguir pode ser usado para acionar esses eventos:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
Eventos sintéticos
Evento |
Tecla |
---|---|
Pausa automática detectada |
|
Retomada automática detectada |
|
Queda detectada |
|
Sono detectado |
|
Interrupção de sono detectada |
|
Tacada de golfe detectada |
|
Por exemplo, é possível usar o seguinte comando para acionar um evento de pausa automática:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
Para eventos de tacadas de golfe, é necessário especificar parâmetros adicionais para o tipo de tacada de golfe, descritos abaixo:
Tipo de balanço para tiro de golfe |
Parâmetro |
---|---|
Tipo de tacada |
putt |
Tipo parcial de balanço |
parciais |
Balanço completo |
máximo |
Adicione o tipo de tacada de tacada de golfe depois de especificar o evento de tacada de golfe:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \ "golf-swing-type-parameter" com.google.android.wearable.healthservices
Por exemplo, o comando a seguir aciona uma tacada de golfe parcial:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
Usar dados sintéticos no Wear OS 3
Se você estiver testando um emulador com o Wear OS 3, também poderá usar dados sintéticos para testar seu app.
Ativar a geração de dados sintéticos
Conclua as etapas a seguir para ativar a geração de dados sintéticos no Wear OS 3.
- Ative as opções do desenvolvedor.
Execute o comando
adb
abaixo para ativar o modo sintético:adb shell am broadcast \ -a "whs.USE_SYNTHETIC_PROVIDERS" \ com.google.android.wearable.healthservices
Depois que a geração de dados sintéticos estiver ativada, envie os comandos descritos nesta página para controlar o comportamento de um "usuário sintético".
Desativar a geração de dados sintéticos
Para voltar a usar sensores reais, execute este comando:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Exercícios sintéticos
Os Recursos de saúde têm suporte aos seguintes tipos de exercício:
- Caminhada:
whs.synthetic.user.START_WALKING
- Corrida:
whs.synthetic.user.START_RUNNING
. - Trilha:
whs.synthetic.user.START_HIKING
. - Natação:
whs.synthetic.user.START_SWIMMING
. - Corrida na esteira:
whs.synthetic.user.START_RUNNING_TREADMILL
Os exercícios geram dados sintéticos realistas para os tipos de dados abaixo:
- Frequência cardíaca
- Contagem de passos por minuto.
- Localização do GPS, usando uma única rota padrão.
- Duração da atividade.
- Elevação e andares
Além disso, estes estados também podem ser gerados:
- Estado de sono: dormindo ou acordado
- Detecção de queda
Iniciar
Para começar a simular um exercício, emita a transmissão adequada para
com.google.android.wearable.healthservices
:
# start the "walking" synthetic exercise
$ adb shell am broadcast \
-a "whs.synthetic.user.START_WALKING" \
com.google.android.wearable.healthservices
Cada atividade tem predefinições para as métricas disponíveis:
Atividade | Frequência cardíaca | Velocidade média | Mudança na elevação | Uso da localização |
---|---|---|---|---|
Caminhada | 120 bpm | 1,4 m/sec | 20 m/min | true |
Correndo | 170 bpm | 2,3 m/sec | 20 m/min | true |
Trilha | 150 bpm | 1,3 m/sec | 20 m/min | true |
Natação | 150 bpm | 1,6 m/sec | 0 m/min | true |
Corrida na esteira | 160 bpm | 2,3 m/sec | 20 m/min | false |
Parar
Para interromper a atividade sintética, use este comando:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices
Personalizado
Para ter um controle mais preciso sobre quais métricas são geradas, inicie uma atividade física
personalizada usando a string de ação whs.synthetic.user.START_EXERCISE
.
Forneça qualquer combinação das seguintes flags:
--ei exercise_options_duration_secs <int>
: duração do exercício em segundos. Padrão:0
.--ei exercise_options_heart_rate <int>
: frequência cardíaca em batimentos por minuto. Média:70
.--ef exercise_options_average_speed <float>
: velocidade média em metros por segundo. Também afeta os passos por minuto ou a cadência. Padrão:0
.--ez exercise_options_use_location <boolean>
: define se dados de localização vão ser emitidos durante o exercício, usando uma rota padrão. Padrão:false
.--ef exercise_options_max_elevation_rate <float>
: taxa de mudança de elevação máxima em metros por minuto. Padrão:0
.
Por exemplo, defina as opções de exercícios desta maneira:
adb shell am broadcast \
-a "whs.synthetic.user.START_EXERCISE" \
--ei exercise_options_heart_rate 90 \
--ef exercise_options_average_speed 1.2 \
--ez exercise_options_use_location true \
com.google.android.wearable.healthservices
Você também pode mudar os tipos de dados disponíveis, de acordo com o suporte no hardware real ou emulado para um tipo específico. Por exemplo, você pode ativar ou desativar a elevação absoluta, conforme mostrado no snippet abaixo:
# enable synthetic mode and enable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation true \
com.google.android.wearable.healthservices
# enable synthetic mode and disable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation false \
com.google.android.wearable.healthservices
Outros estados e eventos
Estado de sono
Também é possível acionar estados de sono para um usuário sintético. Há suporte para dois estados: "dormindo" e "acordado".
Para entrar no estado "dormindo", execute este comando:
adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices
Para entrar no estado "acordado", execute este comando:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices
Detecção de queda
Para simular uma queda, execute este comando:
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
Pode levar até um minuto para que os Recursos de saúde mostrem o evento de queda.
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- SourceType
- ArithmeticExpression
- ListConfiguration