keywords: wear, permissions, collection_guideslandingwear image_path: images/training/wear/multiple_permissions.png
A solicitação de permissões no Wear OS é semelhante à solicitação delas em dispositivos móveis, com alguns outros casos de uso. Este guia pressupõe que você sabe como as permissões do Android funcionam. Se não souber, consulte Como as permissões funcionam no Android.
Assim como acontece em dispositivos móveis, os apps para Wear exigem a permissão do usuário para acessar algumas funcionalidades, mas também precisam oferecer funcionalidades úteis que não precisem de permissões. Nos seus apps para Wear, ofereça funcionalidades úteis sem solicitar permissões.
Cenários de permissões
Há vários cenários que você pode encontrar ao solicitar perigosas permissões no Wear OS:
O app para Wear solicita permissões para um app executado no dispositivo wearable.
O app para Wear solicita permissões para um app executado no smartphone.
O app para smartphones solicita permissões para um app executado no dispositivo wearable.
O app para smartphones solicita várias permissões que só podem ser usadas enquanto o dispositivo wearable estiver conectado.
Para conferir todos esses cenários em um app real, consulte o Exemplo ExerciseSampleCompose no GitHub (link em inglês).
As seções abaixo explicam cada um desses cenários. Para informações mais detalhadas sobre como solicitar permissões, consulte a seção Padrões de solicitação de permissões.
O app para Wear solicita uma permissão em um wearable
Quando o app para Wear solicita uma permissão para um app executado em um dispositivo wearable, o sistema mostra uma caixa de diálogo para solicitar essa permissão do usuário. No seu app, solicite permissões apenas quando for claro para o usuário por que elas são necessárias para realizar uma determinada operação.
Consulte os princípios de permissões para garantir que você esteja oferecendo a melhor
experiência aos usuários e não esqueça de verificar
shouldShowRequestPermissionRationale() e fornecer outras
informações, se necessário.
Se um app ou mostrador do relógio exigir mais de uma permissão por vez, as solicitações vão ser mostradas uma após a outra.
O app para Wear solicita uma permissão ao smartphone
Quando o app para Wear solicita uma permissão em um smartphone, (por exemplo, um app para wearables quer acessar fotos ou outros dados sensíveis na versão para dispositivos móveis), é necessário direcionar o usuário ao smartphone para aceitar a permissão. No smartphone, é possível fornecer mais informações ao usuário com uma atividade. Inclua dois botões nessa atividade: um para aceitar e outro para negar a permissão.
O app Telefone solicita uma permissão do wearable
Se o usuário estiver usando um app para smartphones que solicita uma permissão para o wearable (por exemplo, para pré-carregar música no caso do smartphone ser desconectado), esse app precisa direcionar o usuário ao dispositivo wearable para aceitar a permissão. A versão para wearables do app usa o
requestPermissions método para acionar a caixa de diálogo de permissões do sistema.
O app para smartphones solicita várias permissões ao mesmo tempo
Apps parceiros no Android 12 (nível 31 da API) e versões mais recentes podem usar perfis de dispositivos complementares ao se conectar a um relógio. O uso de um perfil simplifica o processo de registro, agrupando a concessão de um conjunto de permissões específicas do tipo de dispositivo em uma única etapa.
As permissões do pacote são concedidas ao app complementar quando o dispositivo
é conectado e duram apenas enquanto o dispositivo estiver associado. Excluir o app ou
remover a associação vai remover as permissões. Para mais detalhes, consulte
AssociationRequest.Builder.setDeviceProfile().
Padrões de solicitação de permissão
Há diferentes padrões para solicitar permissões dos usuários. Confira a ordem de prioridade deles abaixo:
Solicitar no contexto de uso quando a permissão é claramente necessária para um recurso específico, mas não para a execução do app.
Fornecer informações no contexto de uso quando o motivo para solicitar a permissão não é óbvio e a permissão não é necessária para a execução do app.
Vamos explicar esses padrões nas próximas seções.
Solicitar em contexto
Solicite permissões quando for claro para o usuário por que a permissão é necessária para realizar uma determinada operação. Os usuários têm mais probabilidade de conceder uma permissão quando entendem a conexão dela com o recurso que querem usar.
Por exemplo, um app pode exigir a localização do usuário para mostrar lugares de interesse próximos. Quando o usuário toca na pesquisa de lugares por perto, o app pode solicitar a permissão de localização imediatamente, porque há uma relação clara entre procurar lugares por perto e precisar da permissão de localização. A obviedade dessa relação elimina a necessidade do app mostrar mais telas informativas.
Informar em contexto
A figura 6 mostra um exemplo de informações em contexto. O app não precisa de permissões para iniciar o timer, mas um sinal informativo mostra que parte da atividade (detecção de localização) está bloqueada. Quando o usuário toca nesse sinal, o app mostra uma tela solicitando a permissão de localização.
Use o método shouldShowRequestPermissionRationale para ajudar o app
a decidir se é necessário fornecer mais informações. Para mais detalhes, consulte Solicitar
permissões do app. Além disso, você pode analisar como o app de exemplo de alto-falante
no GitHub lida com a exibição de informações.
Processar rejeições
Se um usuário negar uma permissão solicitada que não seja essencial para a atividade pretendida, não o impeça de continuar a atividade. Se algumas partes da atividade forem desativadas pela permissão negada, forneça um feedback visual e interativo.
A Figura 7 mostra o uso de um ícone de cadeado para indicar que um recurso está bloqueado, porque o usuário não concedeu a permissão necessária.
Quando a caixa de diálogo de uma permissão de wearable anteriormente negada aparecer uma segunda vez, ela vai incluir a opção Negar, não mostrar novamente. Se o usuário selecionar essa opção, a única maneira de conceder a permissão no futuro é pelo app Configurações do wearable.
Saiba mais sobre como processar a rejeição de uma permissão.
Permissões para serviços
Apenas atividades podem chamar o método requestPermissions. Se o
usuário interagir com o app usando um serviço, por exemplo, um mostrador do
relógio, o serviço vai precisar abrir uma atividade antes de solicitar a permissão.
Forneça mais informações sobre por que a permissão é necessária nessa atividade.
De modo geral, não solicite permissões para um mostrador do relógio. Em vez disso, implemente uma complicação e permita que o usuário escolha quais dados vão ser mostrados nela.
Configurações
Um usuário pode mudar as permissões de um app para Wear nas "Configurações" quando quiser. Quando o
usuário tenta fazer algo que exige uma permissão, primeiro chame o
checkSelfPermission método para saber se o app tem permissão para
realizar a operação.
Faça essa verificação mesmo que o usuário já tenha concedido a permissão anteriormente, porque ela pode ter sido revogada.
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Solicitar permissões de execução
- Permissões do Bluetooth
- Comunicação em segundo plano