Как начать определенную деятельность, сказав ОК Google?

Я хотел бы иметь два вида деятельности. FirstActivity должен быть запущен из лаунчера (нажав на иконку) и SecondActivity должен быть запущен с помощью голосовой команды (говоря: "ОК, Google, начни играть пример").

Проблема в том, что только для моей текущей конфигурации FirstActivity запущен Также метод isVoiceInteraction возвращается false, Я также не вижу никаких значений в flags это указывает, что деятельность была начата голосом.

Вот часть AndroidManifest.xml:

<application android:label="play example">
    <activity android:name="com.example.FirstActivity" android:label="play example">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="com.example.EXAMPLE_ACTION" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity android:name="com.example.SecondActivity" android:label="play example">
        <intent-filter>
            <action android:name="com.example.EXAMPLE_ACTION" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.VOICE" />
        </intent-filter>
    </activity>
</application>

Здесь говорится:

Чтобы указать текст, который следует произносить после "Пуск", укажите атрибут метки для действия, которое вы хотите запустить.

Но когда я меняюсь label за SecondActivity это не помогает.

Я использую API версии 26.

Как настроить конфигурацию для обработки описанного поведения?

1 ответ

Насколько мне известно isVoiceInteraction всегда вернется false когда приложение открывается с помощью "открытой" голосовой команды. Однако сценарий, который вы описали, имея другое действие для ответа на голосовые команды, должен был сработать.

Единственное, что вы могли пропустить, это поставить действие android.intent.action.MAIN во втором упражнении.

Другие вопросы по тегам