首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启用Android开放应用程序语音交互

如何启用Android开放应用程序语音交互
EN

Stack Overflow用户
提问于 2016-06-11 16:22:51
回答 1查看 1.7K关注 0票数 2

根据系统语音命令文档,您可以使用语音命令打开应用程序。例如OK Google - open foobar。此外,根据文档,这在默认情况下是可行的;没有具体的意图。

在我的示例开发应用程序中,这是行不通的。我尝试过在意图过滤器中添加几个动作和类别排列的组合,但到目前为止还没有成功。

我的目标是最小的SDK为23,在6.0.1的设备上进行测试。

这个应该工作吗?如果是的话,我需要对一个新的空活动项目进行哪些更改来启用它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-12 16:45:05

据我所知,Google只是在安装的应用程序列表上迭代,如果它找到一个与完全匹配的,它就会打开相应的应用程序。

要测试这一点,请使用以下意图

代码语言:javascript
复制
        final String PACKAGE_NAME_GOOGLE_NOW = "com.google.android.googlequicksearchbox";
        final String GOOGLE_NOW_SEARCH_ACTIVITY = ".SearchActivity";
        final String APP_NAME = "Open " +getString(R.string.app_name);

        final Intent startMyAppIntent = new Intent(Intent.ACTION_WEB_SEARCH);
        startMyAppIntent.setComponent(new ComponentName(PACKAGE_NAME_GOOGLE_NOW,
                PACKAGE_NAME_GOOGLE_NOW + GOOGLE_NOW_SEARCH_ACTIVITY));

        startMyAppIntent.putExtra(SearchManager.QUERY, APP_NAME);
        startMyAppIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        try {
            startActivity(startMyAppIntent);
        } catch (final ActivityNotFoundException e) {
            e.printStackTrace();
        }

如果这打开了您的应用程序,那么它只是一个例子,您的应用程序名称的语音,或谷歌如何解释你的发音。

我确实认为应该有一个选项,在应用程序的清单(或其他一些全球可用的配置文件)中添加一个“语音应用标签”,这样,如果唯一的名称不足以生成语音搜索结果,Google就可以打开您的应用程序。

如果没有打开应用程序,请检查是否正确地在清单中定义了应用程序名称,如下所示:

代码语言:javascript
复制
<application
    android:label="@string/app_name"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37765978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档