2012-01-05 5 views
5

Estoy haciendo un proyecto de integración, que implica la integración de dos proyectos en uno. Cómo quiero hacer esto es, tengo un proyecto común, la actividad de este proyecto común debería ser capaz de llamar actividades de los otros dos proyectos, como por diferentes eventos como presionar un botón en particular, etc. ¿Cómo puedo hacer esto? ¿Es posible con intenciones?¿Cómo llamar a la actividad de un proyecto de la actividad de otro proyecto en Android? ¿También viceversa?

Además, las actividades de los otros dos proyectos deberían poder llamarse entre sí. ¿Cómo hacer esto?

Respuesta

2

Usted tendrá que utilizar filtros intención, código de ejemplo siguiente

PackageManager packageManager = getPackageManager(); 

    Intent baseIntent = new Intent(ACTION_PICK_PLUGIN); 
    baseIntent.addCategory("matching.catagory"); 

    List<ResolveInfo> activities = packageManager.queryIntentActivities(baseIntent, PackageManager.GET_RESOLVED_FILTER); 

luego el fuego intención utilizando la siguiente,

Intent baseIntent = new Intent(activities.get(indexOfChild).filter.getAction(0)); 
baseIntent.addCategory(activities.get(indexOfChild).filter.getCategory(0));  
baseIntent.setComponent(newComponentName(activities.get(indexOfChild).activityInfo.packageName,activities.get(indexOfChild).activityInfo.name)); 
startActivity(baseIntent); 

espero que ayude ..

0

Si desea llamar a la MainActivity de un proyecto desde el proyecto existente y viceversa se puede utilizar la clase PackageManager

 Intent i; 
     PackageManager manager = getPackageManager(); 
     try { 
      i = manager.getLaunchIntentForPackage("Target package"); 
      if (i == null) 
       throw new PackageManager.NameNotFoundException(); 
      i.addCategory(Intent.ACTION_VIEW); 
      startActivity(i); 
     } catch (PackageManager.NameNotFoundException e) { 

     } 
Cuestiones relacionadas