I have the same problem. I want to add plugins at runtime without forcing the user to reinstall the application.
For the purposes of this chapter, the “plug-in model” refers to an application (“host” plug-in) that is expanded by other applications (“plug-ins”) that are largely dedicated to this work.
Of course, there are many ways that applications can work together without one plugin for another. Users web browser is not a plugin of your application when you call startActivity () to view a web page, for example.
In contrast, the Locale application can be expanded through plugins, written either for two forty-four hours (authors of Locale), or for a third of the party. These plugins have no real value to the user, except they improve what Locale itself can do. Such a structure, therefore, qualifies as a plug-in model.
In particular, this chapter will focus on two common scenarios for the wishing plug-in model, although others certainly exist:
Do you want to allow third parties to expand the capabilities of your application, just like two forty-four in the morning, with Locale, or you want to reduce the number of permissions in your main application by delegating some permissions for plugins so that users can “choose” these permissions
Hope this helps a bit.