Os recursos em shortcuts.xml permitem que você declare os tipos de ações que os usuários
podem realizar para iniciar o app e executar diretamente uma tarefa específica. Um recurso
consiste no nome da ação e em um intent direcionado ao destino no app
que resolve a intenção do usuário.
Definir recursos em atalhos.xml
Você define elementos capability em um arquivo de recurso shortcuts.xml no
projeto de desenvolvimento do app Android. Para definir um elemento capability, faça o seguinte:
- Crie um recurso
shortcuts.xmlseguindo as instruções em Criar atalhos estáticos. Inclua as seguintes informações necessárias no seu recurso:
Nome do recurso:a ação que você quer que seu app aceite. Consulte a documentação do componente para o recurso que requer definições de capacidade.
Destino do app:o destino no seu app que a ação lança para atender à solicitação do usuário. Defina os destinos de aplicativos usando elementos
intentaninhados dentro decapability.Mapeamentos de parâmetros:cada
intentpode conter parâmetros a serem transmitidos como dadosextrado intent.
O exemplo a seguir demonstra uma definição de recursos em shortcuts.xml
para actions.intent.START_EXERCISE, uma BII que permite que os usuários usem comandos falados
com o Google Assistente para iniciar um treino em um app de fitness:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.START_EXERCISE">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.sampleApp"
android:targetClass="com.example.sampleApp.ExerciseActivity">
<parameter
android:name="exercise.name"
android:key="exerciseType"/>
</intent>
</capability>
</shortcuts>
No exemplo anterior, o atributo <capability> android:name se refere ao
BII START_EXERCISE. Se um usuário invocar essa BII pedindo ao Assistente, "Ok
Google, inicie uma execução em ExampleApp", o Assistente atenderá a solicitação usando
as informações fornecidas no elemento intent aninhado. O intent neste exemplo
define os seguintes detalhes:
- O
android:targetPackagedefine o pacote do aplicativo de destino para este intent. - O campo
android:targetClassespecifica a atividade de destino:com.example.sampleApp.ExerciseActivity. - A intent
parameterdeclara a compatibilidade com um parâmetro de BIIexercise.namee como transmitir o valor do parâmetro, coletado do usuário, como dados extras nointent.
Associar atalhos a um recurso
Depois de definir um recurso, é possível estender a funcionalidade associando
atalhos estáticos ou dinâmicos a ele. A forma como os atalhos são vinculados a um capability
depende do recurso que está sendo implementado e das palavras reais incluídas na
solicitação do usuário. Por exemplo, quando um usuário inicia uma corrida no seu app de rastreamento de condicionamento físico
perguntando ao Google Assistente: "Ok Google, inicie uma corrida no ExampleApp". O Google Assistente
pode usar um atalho para iniciar uma instância de um capability que define uma
entidade de exercício válida de "corrida" para o parâmetro exercise.name.