1

我有一个文本框和一个按钮。当我点击按钮时,Google Now 会触发文本框中的文本。我正在使用下面的函数来启动带有文本的 Google Now。

    public void searchWeb(String query)
    {
      Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
      intent.putExtra(SearchManager.QUERY, query);
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
      startActivity(intent);
    }

问题是我只能在它不处于运行状态时用我的文本打开 Google Now。当它处于运行状态时,Google Now 页面会打开,但搜索查询不会更新为最新的。

我错过了什么吗?

4

1 回答 1

2

进一步调查这个问题,我发现我错误地使用了设置标志方法。在这里,我必须使用 addflags 方法而不是 setFlags,因此代码可以正常工作。

    public void searchWeb(String query)
    {
      Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
      intent.putExtra(SearchManager.QUERY, query);
      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
      startActivity(intent);
    }
于 2015-03-24T15:23:18.597 回答