Cada tipo de óculos de IA tem recursos diferentes. Por exemplo, embora todos os óculos de IA ofereçam experiências de áudio por voz, alguns também têm uma tela em que seu app pode mostrar interfaces criadas com o Glimmer do Jetpack Compose.
Para criar uma experiência do usuário perfeita em vários dispositivos de óculos de IA, planeje
seu Activity para óculos e verifique os diferentes recursos do dispositivo.
Essa abordagem simplifica o desenvolvimento, permitindo que você crie uma atividade que
adapta o comportamento, em vez de várias atividades que segmentam dispositivos
específicos.
Entender o ciclo de vida das atividades projetadas
A atividade criada para óculos de IA não é executada diretamente no dispositivo, mas é projetada para ele de um dispositivo host (como o smartphone do usuário). As atividades dedicadas criadas para essa finalidade são atividades projetadas. O ciclo de vida das atividades projetadas é baseado no ciclo de vida padrão de atividades, mas também inclui várias diferenças importantes que suportam os recursos de diferentes tipos de óculos de IA.
Confira um resumo dos eventos principais, com destaques para interações específicas de atividades projetadas para óculos de IA:
onCreate()- Chamado quando a atividade projetada é criada.
- Inicialize a interface do usuário Glimmer do Jetpack Compose do app e outros componentes aqui.
onStart()- Chamado quando a atividade projetada está começando e o usuário está ciente do app.
onResume()- Chamado quando a atividade projetada recupera o foco. Enquanto a atividade está em foco, ela é interativa e pode consumir entradas de touchpad ou botão.
- Chamado quando os óculos são colocados de volta (colocados) depois de terem sido retirados da cabeça (retirados).
onPause()- Chamado quando a atividade projetada perde o foco, mas o usuário ainda está ciente do seu app. Enquanto a atividade está sem foco, ela não pode ser interagida e para de consumir entrada.
onStop()- Chamado quando o sistema acredita que o usuário não está mais ciente do seu app.
- Chamado quando os óculos são removidos da cabeça.
onDestroy()- Chamado quando a atividade projetada está prestes a ser destruída. Quando esse método é chamado, o sistema libera todos os recursos vinculados à atividade.
Entenda como o estado de exibição afeta o ciclo de vida da atividade projetada
Em um Activity padrão, o estado do ciclo de vida muda quando a tela do dispositivo é desligada, geralmente passando para onPause() ou onStop(). Em
contraste, o ciclo de vida da atividade projetada não muda quando a tela dos óculos de IA
é ligada ou desligada. Esse comportamento significa que a atividade projetada continua
sendo executada no estado "Iniciado" ou "Retomado" mesmo quando a tela está desligada, o que permite que
as experiências de áudio do app continuem sem interrupção.
Outras mudanças de estado de atividade acionadas por diferentes eventos do sistema e do usuário funcionam da maneira usual.
Entenda como a conscientização do usuário afeta sua atividade projetada
Um usuário pode estar ciente da sua atividade projetada mesmo que ela não esteja visível. Percepção se refere a todas as maneiras como um usuário pode sentir e interagir com as experiências do seu app, incluindo:
- Ouvir áudio, feedback audível ou outras pistas sonoras.
- Ações do app que acionam um LED voltado ao usuário, como um indicador de privacidade se o app acessar a câmera ou o microfone.
Nessas situações, o usuário sabe que os óculos de IA estão ativos e respondendo, mesmo que não esteja olhando para uma tela:
- O estado
onStart()para atividades projetadas significa que a atividade está ativa. - O estado
onResume()significa que a atividade é interativa e pode receber entrada do touchpad ou está recebendo o envio de entrada principal.
Enquanto o usuário estiver ciente do seu app, a atividade vai permanecer ativa e em
primeiro plano. Se o sistema não detectar sinais de reconhecimento por um
curto período, ele vai remover a atividade do primeiro plano e
acionar onStop().
Entender as atividades e os contextos projetados
Os óculos de IA são tratados como um dispositivo conectado que amplia os recursos de um smartphone. Um contexto projetado é um Context compatível com dispositivos que permite
que apps interajam com o hardware de um dispositivo de óculos conectado, como
sensores, câmera ou microfone, em vez do hardware do smartphone. Ao desenvolver
experiências para óculos de IA, seu app precisa usar um contexto projetado para acessar o
hardware dos óculos.
Um contexto projetado pode ser concedido automaticamente ao seu app, dependendo do contexto da atividade de chamada:
Para atividades projetadas: se o código do seu app estiver sendo executado em uma atividade projetada, o contexto dela já será projetado. Nesse cenário, as chamadas feitas nessa atividade já podem acessar o hardware dos óculos.
Para apps ou serviços de smartphone: se uma parte do app fora da atividade projetada (como uma atividade de smartphone ou um serviço) precisar acessar o hardware dos óculos, ela precisará obter explicitamente um contexto projetado. Para fazer isso, use o método
createProjectedDeviceContext().
Para mais informações, consulte Usar um contexto projetado para acessar o hardware dos óculos de IA.
Entender as APIs compatíveis com dispositivos
Algumas APIs padrão do Android mudam o hardware do dispositivo que acessam dependendo
do Context da atividade de chamada. Quando essas APIs recebem um contexto projetado, elas acessam o hardware dos óculos de IA em vez do hardware no smartphone host:
CameraManager: acessa a câmera dos óculos.SensorManager: recupera dados de sensores (por exemplo, giroscópio ou acelerômetro) dos óculos.AudioManager: gerencia streams de áudio, volume e roteamento nos óculos.AudioRecord: captura áudio usando o microfone dos óculos.