There are four types of secondary attributes:

  • category: Gives additional information about the action to execute. For example, LAUNCHER_CATEGORY means it should appear in the Launcher as a top-level application, while ALTERNATIVE_CATEGORY means it should be included in a list of alternative actions the user can perform on a piece of data. type: Specifies an explicit type (a MIME type) of the intent data. Normally, the  
  • type is inferred from the data itself. By setting this attribute, you disable that evaluation and force an explicit type.
  • component: Specifies an explicit name of a component class to use for the intent. Normally this is determined by looking at the other information in the intent (the action, data/type, and categories) and matching that with a component that can handle it. If this attribute is set, none of the evaluation is performed, and this component is used exactly as is. By specifying this attribute, all the other intent attributes become optional.
  • extras: A bundle of any additional information. This can be used to provide  extended information to the component. For example, if we have an action tosend an e-mail message, we could also include extra pieces of data here to supplya subject, body, and so on.