Está en la página 1de 4

29/6/2014

Cómo abrir aplicaciones en Android: Intents | Nosinmiubuntu | Ubuntu en concreto, GNU/Linuxen general

Buscar Inicio Guías de Instalación Programación Android Servicios y Redes Contacto Conócenos ← Anterior
Buscar
Inicio
Guías de Instalación
Programación Android
Servicios y Redes
Contacto
Conócenos
← Anterior
Siguiente →
Cómo abrir aplicaciones en Android: Intents 9 de mayo de 2012 por 3pies Buenas, muchas
Cómo abrir aplicaciones en Android: Intents
9 de mayo de 2012 por 3pies
Buenas, muchas veces os habreis fijado que las aplicaciones que manejais en vuestro movil al
pinchar en un enlace o un botón abren vuestro navegador y van a una determinada página, os
permiten compartir un enlace, llaman a un número o envian un correo. En definitiva, tienen una
determinada información e invocan otras aplicaciones en vuestro móvil para que no tengais que
implementar esas acciones en vuestra aplicación.
Estas llamadas se hacen con los Intent. Android las define como la descripción abstracta de una operación que va
a ser llevada a cabo. O para que nos entendamos todos, los Intent sirven para llamar a Activities dentro de nuestra
aplicación, o como vamos a ver hoy, fuera de ella.
Como suelo hacer en la mayoría de los casos, me hago una clase donde tengo los métodos que os voy a describir
a continuación. En este caso le podemos llamar IntentManager. El primero de los métodos que veremos será
como invocar a un navegador para que vaya a una url.
publicstaticvoidnavegateToUrl(Activityactivity,Stringurl){
Intenti=newIntent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
activity.startActivity(i);
}
Como podéis ver el método es muy sencillo, se crea un nuevo intent, indicando que su tipo de acción es
ACTION_VIEW, y convertimos a un objeto Uri la cadena de texto con la url y por último iniciamos la actividad. El
siguiente método es para compartir un enlace a través de las redes sociales disponibles en el móvil.
publicstaticvoidshare(Activityactivity,StringlinkShare,StringtitleShare){
Intentintent=newIntent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT,titleShare);
intent.putExtra(Intent.EXTRA_TEXT,linkShare);
activity.startActivity(Intent.createChooser(intent,"Compartir"));
}
En este caso la acción es ACTION_SEND, indicamos que enviamos texto, el SUBJECT será el texto que
pondremos en la red social y TEXT el enlace que compartimos. Por último, iniciamos la actividad con un
Intent.createChooser para seleccionar la red social y con un texto para el título de la ventana de selección.
publicstaticvoidsendEmail(Activityactivity,StringAddress){
IntentemailIntent=newIntent(Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,newString[]{Address});
activity.startActivity(Intent.createChooser(emailIntent,"Enviarmail"));

ENTRADAS POPULARES

ARCHIVO

2013 (30)

octubre (10)

agosto (6)

julio (15)

junio (8)

mayo (12)

abril (18)

marzo (8)

febrero (14)

enero (16)

2011 (183)

2010 (161)

2009 (67)

ÚLTIMOS COMENTARIOS

Santiago ¿Como se instala w xcam? Respondeme por favor :(► 2009 (67) ► 2008 (9) ÚLTIMOS COMENTARIOS htt p ://w w w .nosinmiubuntu.com/2010/08/aplicacion

Gaspering Hola esto es todo el codigo?? disculpa conpara-utilizar-la-w ebcam-en.html · 1 w eek ago

29/6/2014

Cómo abrir aplicaciones en Android: Intents | Nosinmiubuntu | Ubuntu en concreto, GNU/Linuxen general

} Con el método anterior podemos enviar un correo preseleccionando para el usuario la dirección
}
Con el método anterior podemos enviar un correo preseleccionando para el usuario la dirección a la que enviaremos
el mail. Si se quiere poner un asunto o un mensaje predefinido podemos hacerlo con las siguientes líneas:
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,Subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,BodyText);
Otra de las acciones comunes en una aplicación es poder realizar una llamada, lo podemos hacer mediante este
método. En esta ocasión la acción es un ACTION_CALL y el teléfono lo parseamos a un objeto Uri.
publicstaticvoidcallPhoneNumber(Activityactivity,Stringphone){
IntentcallIntent=newIntent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:"+phone));
activity.startActivity(callIntent);
}
El último de los intent que voy a mostraros va a abrir el navegador y para navegar hasta una dirección que le
indiquemos.
publicstaticvoidrouteTo(Activityactivity,Stringdestiny){
Intenti=newIntent(Intent.ACTION_VIEW,Uri.parse("google.navigation:q="+de
activity.startActivity(i);
}
En este caso la acción es un ACTION_VIEW, pero le decimos que abra el navegador parseando a un objeto Uri y
añadiendo "google.navigation:q=" a nuestro destino. Los valores validos para destiny son los mismos que si
buscarais algo en la web de Google Maps, pero con algunas cosillas. Si ponemos una dirección, por ejemplo:
Puerta de Alcala, Madrid, España, debemos sustituir los espacios por el símbolo más (+). Podemos poner unas
coordenadas GPS, pero al contrario de lo que hicimos en los capítulos de Google Maps, las coordenadas las
tenemos que poner así: "43.007230,-7.556199". Si os fijáis tienen punto decimal.
Bueno, hasta aquí llegan los ejemplos. Hay muchas más formas de utilizar los intents, y en función de lo
que queráis hacer podréis lanzar vuestras aplicaciones favoritas haciendo vuestra aplicación mucho más rica en
recursos y atractiva para los usuarios.
Etiquetas 3pies, activity, Android, daniel, email, Google, intent, phone, startActivity, Ubuntu, url . permalink.

esta aplicacion se puede mandar un dato o una orden a un arduino??

Jesus Hola, he estado mirando varios tutoriales sobre esto pero no lo soluciono. ¿Se pueden vincular las entries a un recurso @string/? Para poder traducirlos principalmente.enviar datos a un servidor en Android (I) · 1 w eek ago SharedPreferences aún más

ETIQUETAS

Canonical Debian DHCP DNS

GNOME

Shell

Virtual

Proyecto

Software Libre servidor Software Libre Tip

Unity VirtualBox VLC VrtualBox Webcam

USB

GNU

Lubuntu

Plymouth

Mozilla

Máquina

PHP

8 Comentarios

Nosinmiubuntu

AccederPHP programación Ubuntu 8 Comentarios Nosinmiubuntu Ordenar por los mejores Compartir Favorito   Únete a

PHP programación Ubuntu 8 Comentarios Nosinmiubuntu Acceder Ordenar por los mejores Compartir Favorito   Únete a

Ordenar por los mejores

Compartir

FavoritoNosinmiubuntu Acceder Ordenar por los mejores Compartir   Únete a la discusión   matia segurado •

Acceder Ordenar por los mejores Compartir Favorito   Únete a la discusión   matia segurado •
  Únete a la discusión  
 

Únete a la discusión

 
matia segurado • hace 9 meses  

matia segurado hace 9 meses

 

Desde mi aplicacion lo que quiero es abrir el calendario. ¿como podria hacerlo?

1

1 • Responder • Compartir ›
1 • Responder • Compartir ›

Responder

Compartir ›

matia segurado matia segurado • solucionado GG :) 1 • Responder • Compartir ›
matia segurado
matia segurado •
solucionado GG :)
1
• Responder •
Compartir ›

hace 9 meses

29/6/2014

Cómo abrir aplicaciones en Android: Intents | Nosinmiubuntu | Ubuntu en concreto, GNU/Linuxen general

Manel Suarez hace un año Manel Suarez •

Hay algún intent para abrir la galería o ir a los vídeos? Me haríais un favor! Muchas gracias y muy buenos tutoriales!

haríais un favor! Muchas gracias y muy buenos tutoriales! • Responder • Manel Suarez Compartir ›

Responder

Manel Suarez

Compartir ›

tutoriales! • Responder • Manel Suarez Compartir › Manel Suarez • hace un año Nada! Solucionado,

Manel Suarez

hace un año

Nada! Solucionado, muchas gracias igual!

Responder

Compartir ›

muchas gracias igual! • Responder • Compartir › matia segurado Manel Suarez • hace 9 meses

matia segurado

igual! • Responder • Compartir › matia segurado Manel Suarez • hace 9 meses tengo el

Manel Suarez

hace 9 meses

tengo el mismo problema que tuviste pero en vez de abrir la galería quiero abrir el calendario. quizá puedas ayudarme. Gracias

1 hace un año
1
hace un año

calendario. quizá puedas ayudarme. Gracias 1 hace un año • Responder • Compartir › Martín •

Responder

Compartir ›

Martín Martín

El parámetro Activity activity de cada método es this?

Es decir si yo quiero llamar a callPhoneNumber lo haría así:

callPhoneNumber(this,"123456789");

Responder

Compartir ›

• Responder • Compartir › Victor Martín • hace un año Solo quitale el

Victor

• Responder • Compartir › Victor Martín • hace un año Solo quitale el "static"

Martín

hace un año

Solo quitale el "static" porque activity no es estatico

• Responder • Compartir › 3pi3s Moderador Victor • Buenas a ambos,
• Responder •
Compartir ›
3pi3s Moderador
Victor •
Buenas a ambos,

hace un año

Martín, si estás en el ámbito de una Activity si que tendrías que utilizar this donde tu dices. Si por ejemplo lo quieres utilizar en el click de un botón que tengas en tu activity sería NombreDeTuActivity.this

Victor, static es una propiedad del método callPhoneNumber y no de la Activity y nos sirve para no tener que crear una instancia de la clase IntentManager cada vez que queremos llamar al método callPhoneNumber y poder hacer la llamada directamente así IntentNumber.callPhoneNumber(this, "123456789");

TAMBIÉN EN NOSINMIUBUNTU

Un saludo! • Responder •
Un saludo!
• Responder •

Compartir ›

¿QUÉ ES ESTO?
¿QUÉ ES ESTO?

GOOGLE+ FOLLOWERS

TWITTER

BLOGROLL

29/6/2014

Cómo abrir aplicaciones en Android: Intents | Nosinmiubuntu | Ubuntu en concreto, GNU/Linuxen general

Seguir
Seguir

496 nos tienen en sus círculos.

TRANSLATE Seleccionar idioma ​▼
TRANSLATE
Seleccionar idioma
​▼
Tweets Follow Nosinmiubuntu 5 Nov @nosinmiubuntu Ahora mismo tengo instalado Ubuntu 13.10 con Gnome. Al
Tweets
Follow
Nosinmiubuntu
5
Nov
@nosinmiubuntu
Ahora mismo tengo instalado Ubuntu 13.10
con Gnome. Al principio no me convencía,
pero tras personalizarlo con las extensiones
me gusta.
Expand
Nosinmiubuntu
5
Nov
@nosinmiubuntu
¿Creéis que finalmente Debian adoptará
XFCE como entorno? A mí Gnome Shell me
parece que ha mejorado, aunque también
me gusta esa opción.
Expand
Tweet to @nosinmiubuntu

NosinmiUbuntu

Ubuntu en concreto, GNU/Linux en general

todo NosinmiUbuntu Ubuntu en concreto, GNU/Linux en general