从活动开始 Google 搜索查询 - Android
Posted
技术标签:
【中文标题】从活动开始 Google 搜索查询 - Android【英文标题】:Start Google search query from activity - Android 【发布时间】:2011-06-15 14:15:40 【问题描述】:我想知道是否有更简单的方法(或任何方法)来使用 Google 搜索查询启动浏览器。例如,用户可以选择某个单词或短语并单击一个按钮,该活动将使用 Google 搜索查询启动浏览器。
谢谢。
【问题讨论】:
【参考方案1】: String Search= null;
try
Search= URLEncoder.encode(s, "UTF-8");
catch (UnsupportedEncodingException e)
e.printStackTrace();
Uri uri = Uri.parse("http://www.google.com/#q=" + Search);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
);
【讨论】:
这个变种是有效的,但是谷歌改变了它而不是它不起作用。当前工作变体是:google.com/search?q=【参考方案2】:只需几行代码,您就可以很容易地做到这一点(假设您想在 Google 上搜索“鱼”):
String escapedQuery = URLEncoder.encode(query, "UTF-8");
Uri uri = Uri.parse("http://www.google.com/#q=" + escapedQuery);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
否则,如果您希望启动自己的 Activity 来处理浏览,您应该可以使用 WebView 来做到这一点:http://developer.android.com/reference/android/webkit/WebView.html
我认为这里更好的答案是@zen_of_kermit 的。不过,如果 Android 允许用户为搜索引擎提供一个额外的 ACTION_WEB_SEARCH
,而不仅仅是使用 Google,那就太好了。
【讨论】:
谢谢尼古拉斯。这很容易。 启动 Google 搜索(应用程序,而不是浏览器)的活动是什么? 最好是@zen_of_kermit 给出的答案,因为他写的意图集中在谷歌搜索上,但使用了正确的意图类型。 @CarlosAlbertoMartínezGadea 我不确定正确的答案是否值得投反对票。通常,我会将这些应用于不正确的答案。通常,我要么不投票,要么投一个正确的答案...... 我猜你是对的,我没有这么想。我会尽快删除我的反对票,因为系统暂时阻止了它。【参考方案3】:我最近试过这个。这似乎工作正常。如果要进行任何修改,请告诉我,因为我是 android 开发新手。
mEdit = (EditText)findViewById(R.id.editText);
在您的点击视图中,
String q = mEdit.getText().toString();
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH );
intent.putExtra(SearchManager.QUERY, q);
startActivity(intent);
【讨论】:
像魅力一样工作!【参考方案4】:#
给我添了麻烦:
Uri uri = Uri.parse("https://www.google.com/search?q="+query);
Intent gSearchIntent = new Intent(Intent.ACTION_VIEW, uri);
activity.startActivity(gSearchIntent);
【讨论】:
【参考方案5】:Intent 类定义了一个专门用于网络搜索的操作:
http://developer.android.com/reference/android/content/Intent.html#ACTION_WEB_SEARCH
这是一个如何使用它的示例:
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, query); // query contains search string
startActivity(intent);
【讨论】:
未找到处理意图的活动! 把它放在try ... catch (ActivityNotFoundException e)
mb 一些用户的手机真的没有网络浏览器... xD以上是关于从活动开始 Google 搜索查询 - Android的主要内容,如果未能解决你的问题,请参考以下文章
为从姜饼开始的所有 android 版本在 android 中创建全屏活动