2010-05-27 14 views
21

Entiendo cómo usar intents y startActivity() cuando abro otra actividad dentro de mi propia aplicación, pero ¿cómo empiezo una aplicación diferente? específicamente:android: ¿cómo abro otra aplicación desde mi aplicación?

  • ¿Cómo se determina si el usuario tiene instalada la aplicación necesaria en su dispositivo?
  • ¿Cómo se inicia esa aplicación?
  • ¿Cómo se pasan 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)?

Respuesta

32

Cómo ver si está disponible Intención:

  1. Trate de llamar Intención y tratar 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. Query the Package Manager 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. List of Available Intents for Google Applications
  2. List of Intents by 3rd parties @ OpenIntents
+0

Its not working android 7.0 por favor actualice la respuesta – Mariyappan

Cuestiones relacionadas