2010-04-23 71 views
3

我有一個啓動活動並運行良好的android應用程序。我需要其他開發人員能夠將我的APK集成到他們的應用程序中,以便他們可以從他們的android應用程序中啓動我的APK中的活動。從另一個Android應用程序的APK調用活動

實現此目的的方法有哪些?

感謝 喬治

回答

7

做的最好的事情,恕我直言,是您的活動的清單申報的自定義操作。喜歡的東西:

<activity android:name="Foo"> 
    <intent-filter> 
    <action android:name="com.commonsware.android.THIS_IS_MY_ACTION" /> 
    </intent-filter> 
</activity> 

然後,你的同胞可以通過該自定義操作啓動它:

startActivity(new Intent("com.commonsware.android.THIS_IS_MY_ACTION")); 

通過命名空間你的行動,你應該不會遇到與其他人的應用程序意外衝突。

+0

感謝您的建議。我會嘗試它並回來。 另外,你如何在這種情況下捆綁包?我是否可以將其簽名APK提供給其他開發人員進行集成?我是否必須與其他開發者分享我的私鑰(我用APK簽名)? – Ron 2010-04-23 22:50:52

+0

「另外,如何在這種情況下捆綁包?」你沒有。按照您描述的方式,它們是兩個獨立的應用程序。 「我只是讓我的簽名APK可供其他開發人員集成?」您可以,但是您也需要將其提供給最終用戶(例如通過市場),其他開發人員需要採取措施確保您的應用程序在那裏(例如,使用'PackageManager')。 「我是否必須與其他開發者分享我的私鑰(我用APK簽名)?」不,你真的不想這樣做。 – CommonsWare 2010-04-23 23:31:03

+0

對不起,我是Android的新手。我不想讓我的APK可供最終用戶使用。我想要的是讓一組值得信賴的開發人員能夠將其與android應用程序集成。在這種情況下,我應該創建一個簽名的APK並將它交給他們嗎? – Ron 2010-04-24 01:16:34

0

我想你也需要這個過濾器裏面:

<category android:name="android.intent.category.DEFAULT" /> 
相關問題