According to this:
An implicit intent specifies an action that can invoke any app on the
device able to perform the action. Using an implicit intent is useful
when your app cannot perform the action, but other apps probably can
and you'd like the user to pick which app to use.
and this:
The real power of intents lies in the concept of implicit intents. An
implicit intent simply describes the type of action to perform (and,
optionally, the data upon which you’d like to perform the action) and
allows the system to find a component on the device that can perform
the action and start it. If there are multiple components that can
perform the action described by the intent, then the user selects
which one to use.
The idea is that in Android, a developer can let his app use another app on the device to perform some task, instead of having to recreate the same functionality within their own app. Often, there is more than one app that can perform the same task, and so Android allows the user to select which app they want to use for that task.
Basically, the framework attempts to provide the most general way of getting a task done: if the official Twitter
app is not present, then you always have Chrome
.
The way this is done in code is shown here.