android - 如何说“ OK Google”以开始特定活动?

我想进行两次活动。 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>




Here它指出:


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


但是,当我将label更改为SecondActivity时,它没有帮助。

我正在使用API​​版本26。

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

最佳答案

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

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

本文翻译自 https://stackoverflow.com/questions/47403468/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 android wear-os google-voice google-voice-actions


相关文章:

android - 为什么在布局XML中定义<shape>时会出现ClassNotFoundException?

android - 如此缓慢地过滤recyclerview的项目

android - 如何正确删除Google Apis Console项目?

android - 获取已连接智能手表的电池电量

android - 如何在Android Wear卡顶部设置图标

android - 您如何截取/转接电话,但目的地号码显示正确?

java - 返回Android操作系统名称[重复]

android - Android Wear Launcher

android - Android以不同的方式识别2个人的声音

android - 从谷歌搜索或语音输入开始活动