locations - Iniciar consulta de búsqueda de Google desde la actividad-Android
my activity controls (5)
Me preguntaba si hay una manera más fácil (o alguna) de iniciar un navegador con una consulta de búsqueda de Google. Por ejemplo, el usuario puede seleccionar una determinada palabra o frase y hacer clic en un botón y la actividad iniciará el navegador con la consulta de búsqueda de Google.
Gracias.
La clase Intent define una acción específicamente para búsquedas web:
http://developer.android.com/reference/android/content/Intent.html#ACTION_WEB_SEARCH
Aquí hay un ejemplo de cómo usarlo:
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, query); // query contains search string
startActivity(intent);
Puede hacer esto fácilmente con unas pocas líneas de código (asumiendo que desea buscar ''fish'' en 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);
De lo contrario, si prefiere iniciar su propia Actividad para manejar la navegación, debería poder hacerlo con un WebView: http://developer.android.com/reference/android/webkit/WebView.html
Creo que la mejor respuesta aquí es @ zen_of_kermit''s. Sin embargo, sería bueno que Android permitiera a un usuario proporcionar que el motor de búsqueda tuviera un extra para ACTION_WEB_SEARCH
, en lugar de solo usar Google.
Recientemente he intentado esto. Esto parece funcionar bien. Si hay alguna modificación por hacer, avíseme ya que soy nuevo en el desarrollo de Android.
mEdit = (EditText)findViewById(R.id.editText);
en su vista de clic,
String q = mEdit.getText().toString();
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH );
intent.putExtra(SearchManager.QUERY, q);
startActivity(intent);
el #
me dio problemas
Uri uri = Uri.parse("https://www.google.com/search?q="+query);
Intent gSearchIntent = new Intent(Intent.ACTION_VIEW, uri);
activity.startActivity(gSearchIntent);
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);
}
});