2012-01-05 132 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) { 

     } 
相關問題