2011-04-30 22 views
7

Me pregunto cómo iniciar otra aplicación desde mi aplicación utilizando el nombre del paquete.Android - ¿Cómo iniciar una aplicación de terceros con el nombre del paquete?

que tienen el nombre del paquete en formato de cadena como

String pkgName = "com.example.appName"; 

Es por eso que estoy en condiciones de ir a buscar nombre de clase o cualquier otro detalle valiosas de ella, que puedo usar para hacer una intención apropiada para comenzar una actividad.

Alguna idea de cómo resolver este problema. ¡¡Por favor ayuda!!

Gracias.

Respuesta

17

Bueno, usted no quiere buscar NINGÚN nombre de clase. Lo que quiere hacer es crear un Intent con este nombre de paquete con Activity que se pueda iniciar (deben tener el número category específico). En una sola línea, lo que hay que hacer es:

startActivity(getPackageManager().getLaunchIntentForPackage("com.example.appName")); 

revise la documentación de PackageManager.getLaunchIntentForPackage. En términos generales, PackageManager tiene muchos métodos interesantes para iniciar aplicaciones. Here is my blog entry haciendo exactamente eso para múltiples paquetes.

+0

Hola gracias por resolver este misterio para mí. pero cuando intento su solución, me da NullPointerException. alguna idea por que? – Varundroid

+0

muy buen blog. y encontré por qué me estaba mostrando nullpointereception porque estaba intentando abrir el widget de búsqueda de Google: P ... bueno, gracias por su ayuda. :) – Varundroid

+0

jeje, ni siquiera llegué a buscar en esa NullPointerException y lo resolvió. –

Cuestiones relacionadas