AppChooser is an interface that can be implemented by widgets which allow the user to choose an application (typically for the purpose of opening a file).
The main objects that implement this interface are AppChooserWidget, AppChooserDialog and AppChooserButton.
Applications are represented by GIO AppInfo objects here. GIO has a concept of recommended and fallback applications for a given content type. Recommended applications are those that claim to handle the content type itself, while fallback also includes applications that handle a more generic content type. GIO also knows the default and last-used application for a given content type. The AppChooserWidget provides detailed control over whether the shown list of applications should include default, recommended or fallback applications.
To obtain the application that has been selected in a AppChooser, use get_app_info.