android - 多个 APK 相互交互

标签 android plugins module

最近我遇到了一些应用程序(例如 Clockworkmod 的 Rom Manager),为了获得专业版,您必须下载另一个 APK。然而,一旦下载了这个 APK,Rom 管理器就会自动知道这个 APK 存在并添加了新功能。例如,另一个应用程序是 Astro 应用程序,您可以在其中通过从市场下载模块来扩展它。

现在我知道如何检查另一个应用程序是否存在,我也知道如何通过服务在应用程序之间进行交互。但是我的问题是,Clockwork 和这些其他应用程序似乎正在为插件类型架构使用不同的 apk。如何做到这一点?他们是否预定义了整个插件架构和服务模型,以便每当安装新的 apk 时,主应用程序都可以检查它是否是一个模块并在其上调用命令?还是有其他事情发生?

最佳答案

我认为这些应用程序只知道它们的插件以及如何使用它们。插件被分开以节省一些空间或向免费应用程序添加付费功能。请注意,这些应用程序没有第 3 方插件 - 它们都是由应用程序作者创建的。

实际上,我认为为 Android 应用程序创建真正的插件系统在技术上是可行的。您可以使用广播接收器搜索已安装的插件,然后通过一些 API 与它们对话。然而,通过插件添加可扩展性并非易事,因此我认为为移动设备创建此类应用没有多大意义。

关于android - 多个 APK 相互交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3692717/

相关文章:

android - Android中获取并解析网站内容

android - 安装不再适用于 Android Q 的自签名证书

Android list 返回错误 : unexpected tokens

javascript - Nivo Slider 在 Chrome 和 Safari 中有问题

php - 扩展 WooCommerce 产品过滤器插件短代码

eclipse - 在 Eclipse 启动时禁用插件

haskell - 如何在haskell中重新导出单个实体

node.js - 安装 npm 模块时权限被拒绝

python - 如何从模块和主文件中读取配置文件?

java - Android:设置按钮高度与宽度相同