Para adaptar seu app, entenda o que os usuários estão fazendo

Os dispositivos móveis se tornaram indispensáveis para muitos usuários. Seus usuários estão com os smartphones ao longo do dia enquanto eles dirigem, caminham, exercitam, trabalham e brincam.

Entender o que os usuários estão fazendo no mundo físico permite que seu app seja mais inteligente sobre como interagir com eles. Por exemplo, um app pode começar a monitorar os batimentos cardíacos do usuário quando ele começar a correr. Outro app pode alternar para o modo carro quando detectar que o usuário começou a dirigir.

A API Activity Recognition é criada com base nos sensores disponíveis em um dispositivo. Os sensores do dispositivo oferecem insights sobre o que os usuários estão fazendo no momento. No entanto, com dezenas de sinais de vários sensores e pequenas variações no modo como as pessoas fazem as coisas, não é fácil detectar o que os usuários estão fazendo.

A API Activity Recognition detecta automaticamente atividades lendo periodicamente bursts curtos de dados do sensor e processando-os usando modelos de aprendizado de máquina. Para otimizar recursos, a API pode interromper os relatórios de atividade se o dispositivo estiver imóvel por um tempo e usar sensores de baixa energia para retomar os relatórios ao detectar movimentos.

Receber informações sobre as atividades usando recursos mínimos

Alguns apps querem saber quando um usuário inicia ou interrompe uma atividade específica. Por exemplo, um aplicativo de rastreamento de quilometragem pode começar a rastrear quilômetros quando um usuário começa a dirigir, ou um app de mensagens pode silenciar todas as conversas até que ele pare de dirigir.

A API Activity Recognition Transition ativa esses cenários executando o trabalho pesado associado à detecção de mudanças na atividade do usuário. O app se inscreve em uma transição nas atividades de interesse, e a API notifica o app somente quando necessário. Não é necessário implementar heurística complexa para detectar quando uma atividade começa ou termina.

A API Activity Recognition entrega os resultados para um callback, que geralmente é implementado como um IntentService no app. Os resultados são entregues em intervalos especificados por você, ou seu app pode usar os resultados solicitados por outros clientes sem consumir mais energia.

É possível informar à API como entregar resultados usando um PendingIntent, o que elimina a necessidade de ter um serviço em execução constante em segundo plano para detecção de atividade. O app recebe o Intents correspondente da API, extrai as atividades detectadas e decide se é necessário realizar uma ação. A invocação do serviço somente quando uma atividade é recebida preserva os recursos, como a memória.

A API Activity Recognition faz o trabalho pesado processando os sinais do dispositivo para identificar as atividades atuais. Seu app recebe uma lista de atividades detectadas, cada uma com propriedades confidence e type.

A propriedade confidence indica a probabilidade do usuário realizar a atividade representada no resultado. A propriedade type representa a atividade detectada do dispositivo em relação a entidades do mundo real. Por exemplo, o dispositivo está em uma bicicleta ou em um usuário que está em execução.