通过Android应用程序以编程方式调用Google即时搜索

时间:2015-03-24 15:23:19

标签: android android-intent google-now

我有一个文本框和一个按钮。当我点击按钮时,Google Now会在文本框中显示文本。我正在使用以下功能启动带有文本的Google即时。

    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);
    }

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

我错过了什么吗?

1 个答案:

答案 0 :(得分: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);
    }