2012-01-05 11 views
5

Robię projekt integracji, który obejmuje integrację dwóch projektów w jeden. Jak chcę to zrobić, mam wspólny projekt, działanie tego wspólnego projektu powinno być w stanie wywoływać działania z dwóch pozostałych projektów, za różne zdarzenia, takie jak naciśnięcie przycisku itp. Jak to zrobić? Czy to możliwe, dzięki intencjom?Jak wywołać aktywność jednego projektu z działania innego projektu na Androidzie?

Ponadto, działania pozostałych dwóch projektów powinny nawiązywać połączenia. Jak to zrobić?

Odpowiedz

2

Będziesz musiał użyć zamiarom filtry, przykładowy kod poniżej

PackageManager packageManager = getPackageManager(); 

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

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

Następnie ogień intencji przy użyciu następujących,

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); 

Mam nadzieję, że to pomaga ..

0

Jeśli chcesz połączyć się z główną działalność projektu z istniejącego projektu i odwrotnie można użyć klasy 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) { 

     } 
Powiązane problemy