Google Voice Actions распознает множество голосовых и печатных запросов и создает для них намерения Android. Такие приложения, как Play Music и Keep, могут получать эти намерения и выполнять запрошенное действие. Ваше приложение также может заявить о поддержке некоторых из этих действий:
- Определение фильтра намерений
- Обрабатывайте намерение в своем приложении
- Обновите статус завершения приложения
Подробный список поддерживаемых системных действий см. в Справочнике по системным действиям .
Шаг 1. Определите фильтр намерений
Чтобы указать, что ваше приложение поддерживает одно или несколько системных действий, включите фильтр намерений для каждого действия в файле манифеста вашего приложения.
Например, если ваше приложение может устанавливать будильник , добавьте в файл манифеста следующий фильтр намерений:
<activity ...> <intent-filter> <action android:name="android.intent.action.SET_ALARM"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity>
Если у пользователя есть несколько приложений, которые могут обрабатывать намерение « Установить будильник », голосовые действия Google позволяют ему выбрать приложение для выполнения действия:
Рис. 1. Голосовые действия позволяют пользователям выбирать из приложений, поддерживающих системные действия.
Шаг 2. Обработайте намерение в своем приложении
Когда ваше приложение получает намерение, оно должно выполнить действие. В этом примере он должен установить будильник. См. пример кода ниже.
Шаг 3. Обновите статус завершения приложения
API индексирования приложений позволяет отправлять завершенные действия приложения в Google. Позже Google может снова показать ваш контент пользователям с помощью автозаполнения запросов из приложения Google.
После того как ваше приложение выполнит действие, вызовите метод AppIndexApi.end()
с соответствующим типом действия, например Action.TYPE_ADD
.
Вы также должны установить соответствующий тип статуса действия, чтобы сообщать, было ли действие выполнено успешно или нет. Вы можете использовать метод setActionStatus , чтобы установить статус для определенного действия.
Вот полный пример, демонстрирующий, как обрабатывать входящие намерения и использовать API индексирования приложений, чтобы сообщить, что пользователь успешно установил сигнал тревоги:
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);
}
}
...
}
Справочник по системным действиям
Google Voice Actions запускает намерение, когда распознает любое из действий, перечисленных в следующих таблицах.
Действия по тревоге
Действие | Пример команды |
---|---|
Установить будильник | поставить будильник на 6 утра |
Установить таймер | поставить таймер на 5 минут |
Коммуникационные действия
Действие | Пример команды |
---|---|
Позвонить по телефону | звоните 555-5555 позвонить в старбакс позвони маме вызов голосовой почты |
Действия вызова запускаются только на устройствах со встроенным номеронабирателем (например, на телефоне) и на устройствах с приложениями, поддерживающими набор номера (например, на планшете с приложением VoIP).
Фитнес действия
Действие | Пример команды |
---|---|
Начать/остановить велопрогулку | начать велопрогулку |
Начать/остановить пробежку | начать пробежку |
Начать/остановить тренировку | начать тренировку |
Показать пульс | показать частоту сердечных сокращений |
Показать количество шагов | показать количество шагов |
Локальные действия
Действие | Пример команды |
---|---|
Заказать такси | заказать такси |
Действие « Заказать такси» запускается только на Android Wear.
Действия СМИ
Действие | Пример команды |
---|---|
Воспроизведение музыки из поиска | играть майкл джексон билли джин включи музыку играть классическую музыку играть от стены включи Pink Floyd на vnstreamer |
Сделать фото | сделать фото |
Записать видео | записать видео |
Открытые действия
Действие | Пример команды |
---|---|
Открыть URL | открыть twitter.com |
Открыть приложение | открыть твиттер (работает по умолчанию; никаких конкретных намерений.) |
Действия по повышению производительности
Действие | Пример команды |
---|---|
Пометь | взять на заметку купить продукты |
Поисковые действия
Действие | Пример команды |
---|---|
Поиск с помощью определенного приложения | поищите видео с котиками на ютубе |