As ações do Google Voice reconhecem várias solicitações de ação falada e digitada e criam intents do Android para elas. Apps como o Play Música e o Keep podem receber essas intents e realizar a ação solicitada. O app também pode declarar compatibilidade com algumas destas ações:
- Definir um filtro de intent
- Processar a intent no seu app
- Atualizar o status de conclusão do app
Para ver uma lista detalhada das ações compatíveis do sistema, consulte a Referência de ações do sistema.
Etapa 1: definir um filtro de intent
Para indicar que o app é compatível com uma ou mais ações do sistema, inclua um filtro de intent para cada ação no arquivo de manifesto do app.
Por exemplo, se o app puder definir um alarme, adicione o seguinte filtro de intent ao arquivo de manifesto:
<activity ...> <intent-filter> <action android:name="android.intent.action.SET_ALARM"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity>
Se um usuário tiver vários apps que possam processar a intent Set a Alarm, as Ações do Google Voice permitirão que ele escolha o app para concluir a ação:
Figura 1: as Ações por voz permitem que os usuários selecionem de apps com suporte às ações do sistema.
Etapa 2: processar a intent no seu app
Quando o app recebe a intent, ele precisa realizar a ação. Neste exemplo, ele precisa definir o alarme. Veja o exemplo de código abaixo.
Etapa 3: atualizar o status de conclusão do app
A API App Indexing permite enviar atividades completas do app ao Google. O Google pode exibir seu conteúdo aos usuários novamente mais tarde, usando as opções de preenchimento automático de consultas do Google app.
Depois que o app executar a ação, chame o método
AppIndexApi.end()
com um tipo de ação apropriado, por exemplo,
Action.TYPE_ADD
.
Também é necessário definir o tipo de status de ação apropriado para informar se a ação foi concluída ou não. É possível usar o método setActionStatus para definir o status de uma ação específica.
Veja um exemplo completo que demonstra como processar a intent recebida e usar a API App Indexing para informar que o usuário definiu um alarme:
public class MainActivity extends Activity {
private static final Uri ALARM_URI = Uri.parse("android-app://com.myclockapp/set_alarm_page");
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
// Get the intent
Intent intent = getIntent();
if (AlarmClock.ACTION_SET_ALARM.equals(intent.getAction())) {
if (intent.hasExtra(AlarmClock.EXTRA_HOUR)) {
// Step 2: get the rest of the intent extras and set an alarm
...
}
// Step 3: report the action through the App Indexing API
Thing alarm = new Thing.Builder()
.setName("Alarm for 4:00 PM")
.setDescription("Alarm set for 4:00 PM, with the 'Argon' ringtone"
+ " and vibrate turned on.")
.setUrl(APP_URI)
.build();
Action setAlarmAction = new Action.Builder(Action.TYPE_ADD)
.setObject(alarm)
.setActionStatus(Action.STATUS_TYPE_COMPLETED)
.build();
AppIndex.AppIndexApi.end(mClient, setAlarmAction);
}
}
...
}
Referência de ações do sistema
As Ações do Google Voice disparam uma intent quando ele reconhece qualquer uma das ações listadas nas tabelas a seguir.
Ações de alarme
Ação | Exemplo de comando |
---|---|
Definir alarme | definir um alarme para as 6h |
Defina o timer | definir um timer para 5 minutos |
Ações de comunicação
Ação | Exemplo de comando |
---|---|
Fazer uma chamada telefônica | ligar para 555-5555 ligar para a Starbucks ligar para minha mãe ligar para o correio de voz |
As ações Ligar só são acionadas em dispositivos com um discador integrado (como um telefone) e em dispositivos com aplicativos que suportam a discagem (como um tablet com um aplicativo de VoIP).
Ações de condicionamento físico
Ação | Exemplo de comando |
---|---|
Iniciar/parar uma pedalada | iniciar um passeio de bicicleta |
Iniciar/parar uma corrida | Iniciar uma corrida |
Iniciar/parar um treino | iniciar um treino |
Mostrar frequência cardíaca | mostrar frequência cardíaca |
Mostrar contagem de passos | mostrar contagem de passos |
Ações locais
Ação | Exemplo de comando |
---|---|
Reservar um táxi | reservar um táxi |
A ação Reservar um táxi só é acionada no Android Wear.
Ações de mídia
Ação | Exemplo de comando |
---|---|
Tocar músicas da pesquisa |
tocar michael jackson billie jean tocar uma música tocar música clássica tocar na parede tocar floyd rosa no vnstreamer |
Tirar uma foto | Tirar uma foto |
Gravar um vídeo | Gravar um vídeo |
Ações abertas
Ação | Exemplo de comando |
---|---|
URL de abertura | Abrir twitter.com |
Abrir aplicativo | Abrir Twitter (funciona por padrão; não há intenção específica) |
Ações de produtividade
Ação | Exemplo de comando |
---|---|
Criar uma nota | anotar compras de alimentos |
Ações da pesquisa
Ação | Exemplo de comando |
---|---|
Pesquisar usando um app específico | pesquisar vídeos de gatos no youtube |