最近,我遇到了一些应用程序(例如Clockworkmod的Rom Manager),为了获得专业版,你必须下载另一个APK。然而,一旦下载了这个APK,Rom Manager就会自动知道这个APK的存在,并添加新的功能。例如,另一个应用程序是Astro应用程序,你可以通过从Market下载模块来扩展它。
现在我知道了如何检查另一个应用程序的存在,也知道了如何通过服务在应用程序之间进行交互。然而,我的问题是,看起来Clockwork和这些其他应用程序正在使用不同的apks作为插件类型的架构。如何做到这一点?他们是否预定义了完整的插件架构和服务模型,以便每当安装新的apk时,主应用程序都可以检查它是否是一个模块,并在其上调用命令?还是有什么别的事情在发生?
发布于 2010-09-15 23:46:07
我认为这些应用程序只知道它们的插件以及如何使用它们。插件是分开的,以节省一些空间或为免费应用程序添加付费功能。请注意,这些应用程序没有第三方插件-所有这些应用程序都是由应用程序作者创建的。
实际上,我认为为Android应用程序创建真正的插件系统在技术上是可能的。您可以使用广播接收器搜索已安装的插件,然后通过一些API与它们交谈。然而,通过插件增加可扩展性并不是一件微不足道的任务,所以我认为为移动设备创建这样的应用程序没有太大的意义。
https://stackoverflow.com/questions/3692717
复制相似问题