Android: ¿cómo abro otra aplicación desde mi aplicación?

Entiendo cómo usar intents y startActivity () al abrir otra actividad dentro de mi propia aplicación, pero ¿cómo empiezas una aplicación diferente? específicamente:

  • ¿Cómo se determina si el usuario tiene instalada la aplicación necesaria en su dispositivo?
  • ¿Cómo comienzas esa aplicación?
  • ¿Cómo pasas los parámetros a esa aplicación?
  • ¿Cómo se puede encontrar toda esta información para una aplicación específica (por ejemplo, Adobe Reader o Google Maps)?

Cómo ver si el Intento está disponible:

  1. Intenta llamar a Intent y trata con ActivityNotFoundException si no está disponible

     Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(path, "application/pdf"); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); try { startActivity(intent); } catch (ActivityNotFoundException e) { Toast.makeText(OpenPdf.this, "No Application Available to View PDF", Toast.LENGTH_SHORT).show(); } 

    o

  2. Consulte el administrador de paquetes para ver si es antes de tiempo:

     PackageManager packageManager = getPackageManager(); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setType("application/pdf"); List list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); if (list.size() > 0) { intent.setDataAndType(path, "application/pdf"); startActivity(intent); } 

Cómo pasar parámetros a una aplicación o conocer sus capacidades:

  1. Lista de extensiones disponibles para aplicaciones de Google
  2. Lista de intenciones de terceros @ OpenIntents

Lo que estás buscando son intents y filtros de intenciones .

Todo lo que desea saber se detalla en la guía para desarrolladores de Android.

http://developer.android.com/guide/topics/intents/intents-filters.html