我想知道我的Android应用程序是否可以由第三方扩展而我必须修改每个扩展程序的基础应用程序,这是什么样的eclipse所做的用它的插件。
基础应用程序非常简单,某种本地数据管理器(CRUD操作)。例如,给定的插件可以在其他活动/片段中对所述数据(例如,显示它的不同方式)进行处理。
通过一些研究,我发现如果我要成为基础应用程序和插件的开发者,我可以通过创建不能直接访问用户(Main / Launcher)的新apks来完成它。从基本应用程序查询设备上是否安装了给定的插件,如果是,则在UX上显示其他选项。我可以使用它,但我想知道是否没有其他选项允许第三方扩展。
搜索“扩展点”似乎不会产生Android结果。也许这是不可能的?
答案 0 :(得分:3)
例如,给定的插件可以在其他活动/片段中对所述数据(例如,显示它的不同方式)进行处理。
步骤1:将所述数据公开给第三方应用,例如通过ContentProvider
。
现在,您已经完成了,除了"在UX"上显示其他选项的部分。为此:
步骤2:记录第三方应用应该对他们想要从您的应用启动的任何活动应具有的<intent-filter>
。这可能涉及自定义操作和/或类别和/或MIME类型。
步骤3:当您需要&#34;在UX&#34;上显示其他选项时(我将其解释为某种列表或菜单),使用queryIntentActivities()
上的PackageManager
查找实施您在步骤2中记录的<intent-filter>
的所有活动,并将其包括在内那份清单。
答案 1 :(得分:1)
对于您的特定方案,只需存储和检索基础应用程序中的数据,您可以使用与Contacts应用程序使用相同的方法,该方法使用内容提供程序。
您可以在此处详细了解内容提供商以及如何实施这些内容:Content Providers | Android Developers
如果您正在考虑扩展已安装的应用程序,则必须预先定义一组动态类来呈现数据,以及一组规则和插件的语言/接口以扩展您的应用程序。应用程序功能来自您自己的应用程序。
您还可以考虑在运行时将外部.jar文件加载到您的应用程序中。 It looks like others have been successful before