2011-01-26 16 views
15

Google検索クエリでブラウザを起動する方が簡単な方法があるかどうかは疑問でした。たとえば、ユーザーは特定の語句を選択してボタンをクリックすると、アクティビティはGoogle検索クエリでブラウザを開始します。アクティビティからGoogle検索クエリを開始 - Android

ありがとうございます。

答えて

23

あなたは(あなたが「魚」を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); 

そうでない場合は、あなたではなく処理するために、独自の活動を開始する場合ブラウジングを行うには、WebViewでこれを行うことができるはずです。http://developer.android.com/reference/android/webkit/WebView.html

ここでのより良い答えは、@ zen_of_kermitです。 Androidを使って検索エンジンを提供することが許可されているのであれば、Googleを使うのではなく、ACTION_WEB_SEARCHのための余分な情報があります。

+0

はあなたのニコラスありがとうございます。それは簡単だ。 – madu

+0

Google検索(ブラウザではなくアプリ)を開始するにはどうすればよいですか? – trusktr

+0

@zen_of_kermitが与えた答えは、彼が書いた意図がGoogleの検索に焦点を当てていますが、正しいIntent Typeを使用しているためです。 –

46

テントクラスは、ウェブ検索のために特別にアクションを定義しています

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); 
+2

目的を達成するために活動が見つかりません! –

4

#が私に悩みました:

Uri uri = Uri.parse("https://www.google.com/search?q="+query); 
Intent gSearchIntent = new Intent(Intent.ACTION_VIEW, uri); 
activity.startActivity(gSearchIntent); 
4

私は最近これを試しました。これは正常に動作するようです。私はアンドロイドの開発に新しいので、何か変更を行う場合は私に知らせてください。あなたのクリックビューで

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); 
+0

魅力的な作品です! –

関連する問題