web-dev-qa-db-ja.com

アクティビティからGoogle検索クエリを開始します-Android

Googleの検索クエリでブラウザを起動するもっと簡単な方法(または何らかの方法)があるかどうか疑問に思いました。たとえば、ユーザーが特定の単語またはフレーズを選択してボタンをクリックすると、アクティビティによってGoogle検索クエリでブラウザが起動します。

ありがとうございました。

20
madu

これは、数行のコードで非常に簡単に行うことができます(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がユーザーに検索エンジンを提供することを許可した場合でも、ACTION_WEB_SEARCH、Googleを使用するだけでなく。

26

Intentクラスは、特にWeb検索専用のアクションを定義します。

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);
53
zen_of_kermit

私は最近これを試しました。これは正常に機能しているようです。変更が必要な場合は、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
Ramya027

#私に問題を与えました:

Uri uri = Uri.parse("https://www.google.com/search?q="+query);
Intent gSearchIntent = new Intent(Intent.ACTION_VIEW, uri);
activity.startActivity(gSearchIntent);
4
Oded Breiner
                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);
            }
        });