Android - 以无代码方式集成您的库以显示视图

Android - Integrate Your Library Codelessly to Display Views

我了解到,通过在库的清单上提供一个提供程序,您可以将您创建的库集成到应用程序中,而无需强制他们编写任何集成代码。

这怎么可能?为了显示对话框或按钮,您将从哪里获得对上下文或 FragmentManager 的引用?

I have read that by having a provider on the library's manifest, you can integrate a library you create into the apps without forcing them to write any integration code.

不是真的。将其表述为“通过在库的清单中包含 <provider>,您可以初始化库而无需强制应用程序开发人员编写任何初始化代码”会更准确。

初始化!=集成。

How is this possible?

所有已注册的 ContentProvider 实例都会在应用进程启动时初始化,甚至在调用 ApplicationonCreate() 之前。通常,这是一个错误(增加启动成本),但如果处理得当,它可以成为一个功能(允许库自行初始化)。

Where would you get the reference to the context or the FragmentManager then in order to display a dialog or a button?

应用开发者会调用您提供的一些 API。