2010-09-11 51 views
5

最近我遇到了幾個應用程序(如Clockworkmod的Rom管理器),爲了獲得專業版本,你必須下載另一個APK。但是,一旦下載APK,Rom Manager會自動知道這個APK存在並添加新功能。例如,另一個應用程序是Astro應用程序,您可以通過從市場下載模塊來擴展它。多個APK的相互作用

現在我知道如何檢查另一個應用程序的存在,並且我也知道如何通過服務在應用程序之間進行交互。然而我的問題是,它看起來像發條,而這些其他應用程序正在使用不同的插件來實現插件式架構。如何做到這一點?他們是否預定義了整個插件體系結構和服務模型,以便每當安裝新的apk時,主應用程序可以檢查它的模塊和調用命令?或者還有其他事情正在發生?

回答

1

我認爲這些應用程序只知道他們的插件以及如何使用它們。插件被分開以節省一些空間或爲付費功能添加免費應用程序。請注意,這些應用程序沒有第三方插件 - 所有這些都是由應用程序作者創建的。

其實我認爲在技術上可以爲Android應用程序創建真正的插件系統。您可以使用廣播接收器搜索已安裝的插件,然後通過一些API與他們交談。然而,通過插件增加可擴展性並不是一件容易的事,因此我認爲爲移動設備創建這樣的應用程序並不合理。

+0

完美,正是我想知道的! – 2010-09-16 08:27:29