2012-01-05 2 views
5

Я занимаюсь интеграционным проектом, который включает в себя интеграцию двух проектов в один. Как я хочу это сделать, у меня есть общий проект, деятельность этого общего проекта должна быть способна вызвать действия двух других проектов, так как за разные события, такие как конкретное нажатие кнопки и т. д. Как я могу это сделать? Возможно ли это с помощью намерений?Как вызвать активность одного проекта из активности другого проекта в android? Также наоборот?

Кроме того, деятельность двух других проектов должна быть способна вызвать друг друга. Как это сделать?

ответ

2

Вы должны будете использовать намерений фильтры Пример кода ниже

PackageManager packageManager = getPackageManager(); 

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

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

Затем огонь намерение с помощью следующих,

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

Я надеюсь, что это помогает ..

0

Если вы хотите, чтобы вызвать MainActivity проекта из существующего проекта, и наоборот вы можете использовать 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) { 

     } 
Смежные вопросы