Os recursos em shortcuts.xml permitem declarar 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 que segmenta o 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 obrigatórias na sua capacidade:
Nome do capability: a ação que você quer que o app ofereça. Consulte a documentação do componente para o recurso que exige definições de capacidade.
Destino no app: o destino no app que a ação inicia para atender à solicitação do usuário. Defina os destinos do app usando elementos
intentaninhados nocapability.Mapeamentos de parâmetros: cada
intentpode conter parâmetros a serem transmitidos como dadosextrada intent.
O exemplo a seguir demonstra uma definição de capability em shortcuts.xml
para actions.intent.START_EXERCISE, uma BII que permite que os usuários usem comandos
falados com o 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 suporte para um parâmetro de BIIexercise.namee como transmitir o valor de parâmetro, coletado do usuário, como dados extras naintent.
Associar atalhos a um recurso
Depois de definir um recurso, você pode ampliar a funcionalidade dele associando
atalhos estáticos ou dinâmicos. A forma como os atalhos são vinculados a um capability
depende do recurso que está sendo implementado e das palavras incluídas na
solicitação do usuário. Por exemplo, quando um usuário começa uma corrida no seu app de tracker de condicionamento físico
pedindo ao Google Assistente: "Ok Google, comece uma corrida no AppDeExemplo". O Google Assistente
pode usar um atalho para iniciar uma instância de uma capability que define uma entidade de exercício
válida de "corrida" para o parâmetro exercise.name.