It depends on what you actually want to do, and whether or not the other apps support it.
Your example of changing the fonts system-wide is not possible. Any application can define what fonts to use, and you cannot override that. Forcing an application to use a different font could degrade that app's user experience, so I am pretty happy with this limitation.
It sounds like you want to be able to override or control other applications (either their behavior or their UI). In general this is not possible unless the other application was developed to explicitly allow this.
You can however hook into apps in other ways. A few examples:
- Your application can use the
AccountManager
and associated classes to provide a system-wide account that other applications can use.
- Your application can allow other applications to launch Intents to communicate with your application
- Your application can register intent filters to handle certain actions such as the user trying to open a specific file type, opening a URL, or sending a text message.
- Apps such as DashClock allow other developers to create plugin applications to provide new functionality