Issues with apps defined as default for certain actions, or how to define them such.
What is a "default application"?
On Android, many things are event steered: Intents are called, and listeners respond to them. This is best explained using an example:
Say you click on a URL in some text. The app will then invoke an intent called
ACTION_VIEW and pass it the URL. The system will "broadcast" this intent to all apps having listeners established for
ACTION_VIEW for URLs (in this case, usually web browsers). As long as only one app responds, it immediately gets the task and starts the appropriate activity (opening the corresponding web page).
But you might have multiple browsers installed. In this case, the system does not know which one should be used -- and pops up a query to the user: "Open with...", listing all corresponding apps. Now the user might chose to check the box to "always use" this app: Doing so, the user defined a default application for this specific action, and the system will not ask again for this the next time.
How to define a "default application"?
As described in the previous paragraph: Simply check the "Use by default for this action" bos when asked which app to use for this action.
How to undefine a "default application"?
This can be done in Settings→Apps→Manage Apps: Scroll the list to find the current default app, and press the "Clear defaults" button.
Are there alternatives to manage default apps?
Of course there are, and more than one. An example would be Default App Manager, which makes management of default apps easier for the end user: