# Standard Android Intents

### Starting an Application

To start an application, use **typeIntent** *a* and supply the package name.

```json
{
      "package": "com.android.calculator2",
      "typeIntent": "a"
}
```

Additionally, **actions**, **classes**, and **flags** can be used for a more granular intent.

An **action** value specifies an action defined within the application.

An activity can be referenced as a **class** value; this will tell Launcher to open a specific activity in the application, rather than the default activity. When using a class to start an activity, a **flag** of *1* is required to start a new task.

```json
{
    "action": "com.bluefletch.ems.remotecontrol.ACTION_START",
    "package": "com.bluefletch.ems.emm.remoteagent",
    "class": "com.bluefletch.ems.remotecontrol.RemoteActivity",
    "flags": 1,
    "typeIntent": "a"
}
```

### Sending a Broadcast Intent

Android supports broadcast intents, or intents that are transmitted broadly to all listening applications to trigger an action.

Broadcast intents can be sent using **typeIntent** *b* and an action or package name.

For example, to invoke the action to clear cookies on the BlueFletch Browser application via broadcast:

```json
{
    "action": "com.bluefletch.ems.browser.CLEAR_COOKIES",
    "typeIntent": "b",
    "package": "com.bluefletch.ems.browser"
}
```

### Sending an Intent with Data

Intents, including standard Android intents and BlueFletch's customized Platform action intents, can include a **data** string to pass the intent configurable details it will need in order to run.

For example, to start an XML via intent, the XML file location is passed through **data**:

```json
{
    "action": "XML",
    "data": "/sdcard/Download/ems/stageNowTest.xml",
    "typeIntent": "p"
}
```

Or in a delay intent, **data** tells the intent how long to wait, in milliseconds:

```json
{
    "data": "2000",
    "typeIntent": "d"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bluefletch.com/bluefletch-enterprise/product-guides/bluefletch-launcher/custom-intents/standard-android-intents.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
