1

所以我尝试实现这一点 -语音搜索和您的应用程序之间的最快路线

到目前为止我所拥有的是...

在清单中:

<activity android:name=".MainActivity">
<intent-filter>
    <action android:name="com.google.android.gms.actions.SEARCH_ACTION"/>
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

在 MainActivity 中:

if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        String query = intent.getStringExtra(SearchManager.QUERY);
        editText.setText(query);

}

如果我在 Google Now 中输入我的应用名称,就会显示该应用。如果我打开它没有任何反应,所以我没有收到搜索词(应用程序名称)。

我该如何实现,就像帖子描述的“Ok Google,在 MyApp 上搜索披萨”一样?

4

2 回答 2

2

根据博客文章,查询采用以下格式:

Ok Google,在 Eat24 上搜索披萨

Ok Google,在 TripAdvisor 上搜索毛伊岛的酒店

您会注意到,粗体部分是当以正确格式成功进行语音搜索时,您的应用收到的搜索词。

于 2014-11-03T16:19:10.823 回答
1

此外,我们检查 Intent 的方式也可能不同。只有这对我有用。正如文档中提到的意图是这样的。

Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction())
        || "com.google.android.gms.actions.SEARCH_ACTION".equals(intent.getAction())) {
    externalQuery = intent.getStringExtra(SearchManager.QUERY);
    //String xquery = query;
}
于 2015-02-04T15:02:43.717 回答