2011-01-26 15 views
15

Zastanawiam się, czy istnieje prostszy sposób (lub w jaki sposób) do uruchomienia przeglądarki z zapytaniem wyszukiwarki Google. Na przykład użytkownik może wybrać określone słowo lub frazę i kliknąć przycisk, a działanie uruchomi przeglądarkę za pomocą zapytania wyszukiwarki Google.Rozpocznij zapytanie wyszukiwania Google od działania - Android

Dziękuję.

Odpowiedz

23

Można to zrobić bardzo łatwo za pomocą kilku linii kodu (zakładając, że chcesz wyszukać w Google „ryba”):

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

W przeciwnym razie, jeśli wolisz założyć własną działalność obsłużyć przeglądanie, powinieneś być w stanie to zrobić z WebView: http://developer.android.com/reference/android/webkit/WebView.html

Myślę, że lepszą odpowiedzią tutaj jest @ zen_of_kermit. Byłoby jednak fajnie, gdyby system Android zezwolił użytkownikowi na dostarczanie Wyszukiwarka ma dodatkowe dla ACTION_WEB_SEARCH, a nie tylko za pomocą Google.

+0

Dziękuję Nicholas. Tołatwe. – madu

+0

Jaką aktywność zacznie uruchamiać wyszukiwarka Google (aplikacja, a nie przeglądarka)? – trusktr

+0

Lepsza jest odpowiedź udzielona przez @zen_of_kermit, ponieważ napisany przez niego zamiar skupia się na wyszukiwaniach Google, ale przy użyciu właściwego typu intencji. –

46

zamiarem klasa definiuje działanie specjalnie dla wyszukiwarek internetowych:

http://developer.android.com/reference/android/content/Intent.html#ACTION_WEB_SEARCH

Oto przykład, w jaki sposób z niego korzystać:

Intent intent = new Intent(Intent.ACTION_WEB_SEARCH); 
intent.putExtra(SearchManager.QUERY, query); // query contains search string 
startActivity(intent); 
+2

Nie znaleziono żadnej aktywności spełniającej kryteria! –

4

# dał mi problemy:

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

Niedawno wypróbowałem to. Wygląda na to, że działa dobrze. Jeśli jakiekolwiek modyfikacje do wykonania daj mi znać, ponieważ jestem nowy w rozwoju Androida.

mEdit = (EditText)findViewById(R.id.editText); 

w Kliknięciem,

String q = mEdit.getText().toString(); 
         Intent intent = new Intent(Intent.ACTION_WEB_SEARCH); 
         intent.putExtra(SearchManager.QUERY, q); 
         startActivity(intent); 
+0

Działa jak urok! –

Powiązane problemy