2

我想做两个活动。FirstActivity应该从启动器启动(通过点击图标)并SecondActivity应该通过语音命令启动(通过说“OK 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>

这里说:

要指定要在“开始”之后说的文本,请为要开始的活动指定标签属性。

但是当我改变labelSecondActivity并没有帮助。

我正在使用 API 版本 26。

如何设置配置来处理描述的行为?

4

1 回答 1

0

使用“打开”语音命令打开应用程序时,AFAIKisVoiceInteraction将始终返回。false但是,您描述的场景,有另一个活动来响应语音命令,应该可以工作。

您可能错过的唯一一件事是将动作android.intent.action.MAIN放在第二个活动中。

于 2018-05-03T18:29:09.187 回答