如何允许为我的 Android 应用程序进行扩展?

How can I allow extensions to be made for my Android app?

如果我正在制作一个 Android 应用程序(例如消息传递应用程序),并且我希望打开该应用程序以便其他开发人员可以进行扩展(即与其他消息传递的连接 sites/protocols、附加功能、自定义 UI)、我可以使用哪些选项来执行此操作?

this question 的答案让人觉得如果其他开发者制作了他们自己的应用程序,我的应用程序能够从中提取数据吗?这是我应该去的方向吗?

我知道这样的扩展是可能的,因为我在其他应用程序中看到过它,例如具有 "add-ons" 的文件管理器 FX 称为 "FX Plus" 和 "FX Root Access"。所以,基本上,我怎样才能为我的应用程序获取 add-ons/extensions?

我知道的选项:

Intent API 可以提供一些功能(您可以让开发人员能够向您的应用程序发送命令和数据)。例如,您可以接受某种 XML 并根据它构建您的 UI。这是一个缓慢的过程,但您可以创建一些技巧来加快速度。 documentation

Content provider 您可以让其他开发人员能够使用您的应用数据。数据库、照片、视频。你可以分享你的,也可以接受新的。 documentation

AIDL 服务 我自己从未使用过,但听起来很有前途。 documentation