Запустить поисковый запрос Google из активности - Android - PullRequest
18 голосов
/ 26 января 2011

Мне было интересно, есть ли более простой способ (или любой другой способ) запустить браузер с поисковым запросом Google. Например, пользователь может выбрать определенное слово или фразу и нажать кнопку, и действие запустит браузер с поисковым запросом Google.

Спасибо.

Ответы [ 5 ]

53 голосов
/ 03 июля 2012

Класс 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);
25 голосов
/ 26 января 2011

Вы можете сделать это довольно легко с помощью нескольких строк кода (при условии, что вы хотите искать в Google 'fish'):

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's.Хотя было бы неплохо, если бы Android позволял пользователю предоставлять поисковику дополнительные возможности для ACTION_WEB_SEARCH, а не только для использования Google.

4 голосов
/ 22 мая 2016

Я недавно попробовал это.Похоже, это работает нормально.Если будут внесены какие-либо изменения, дайте мне знать, поскольку я новичок в разработке для 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 голосов
/ 29 октября 2013

# доставил мне неприятности:

Uri uri = Uri.parse("https://www.google.com/search?q="+query);
Intent gSearchIntent = new Intent(Intent.ACTION_VIEW, uri);
activity.startActivity(gSearchIntent);
1 голос
/ 27 марта 2018
                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);
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...