---
title: "Launch Reason"
canonical_url: https://developer.repebble.com/docs/c/Foundation/Launch_Reason/
last_updated: 2026-10-28
sdk_version: 4.33.1
---
# Launch Reason

Source: https://developer.repebble.com/docs/c/Foundation/Launch_Reason/

API for checking what caused the application to launch.

This includes the system, launch by user interaction (User selects the application from the launcher menu), launch by the mobile or a mobile companion application, or launch by a scheduled wakeup event for the specified application.

## Function Documentation

[AppLaunchReason](https://developer.repebble.com/docs/c/Foundation/Launch_Reason.md#AppLaunchReason) launch\_reason(void)

Provides the method used to launch the current application.

#### Returns

The method or reason the current application was launched

[uint32\_t](https://developer.repebble.com/docs/c/Standard_C.md#uint32_t) launch\_get\_args(void)

Get the argument passed to the app when it was launched.

##### Note

Currently the only way to pass arguments to apps is by using an openWatchApp action on a pin.

#### Returns

The argument passed to the app, or 0 if the app wasn't launched from a Launch App action

[ButtonId](https://developer.repebble.com/docs/c/User_Interface/Clicks.md#ButtonId) launch\_button(void)

Get the button id used to launch the app. Only valid if the launch reason is APP\_LAUNCH\_USER or APP\_LAUNCH\_QUICK\_LAUNCH.

[AppQuickLaunchAction](https://developer.repebble.com/docs/c/Foundation/Launch_Reason.md#AppQuickLaunchAction) launch\_get\_quick\_launch\_action(void)

Get the action that was used to quick launch the app.

#### Returns

The [AppQuickLaunchAction](https://developer.repebble.com/docs/c/Foundation/Launch_Reason.md#AppQuickLaunchAction) used to launch the app, or APP\_QUICK\_LAUNCH\_ACTION\_NONE if the app was not launched via Quick Launch.

## Enum Documentation

enum AppLaunchReason

[AppLaunchReason](https://developer.repebble.com/docs/c/Foundation/Launch_Reason.md#AppLaunchReason) is used to inform the application about how it was launched.

New launch reasons may be added in the future. As a best practice, it is recommended to only handle the cases that the app needs to know about, rather than trying to handle all possible launch reasons.

#### Enumerators
APP\_LAUNCH\_SYSTEM

App launched by the system.

APP\_LAUNCH\_USER

App launched by user selection in launcher menu.

APP\_LAUNCH\_PHONE

App launched by mobile or companion app.

APP\_LAUNCH\_WAKEUP

App launched by wakeup event.

APP\_LAUNCH\_WORKER

App launched by worker calling [worker\_launch\_app()](https://developer.repebble.com/docs/c/Worker.md#worker_launch_app)

APP\_LAUNCH\_QUICK\_LAUNCH

App launched by user using quick launch.

APP\_LAUNCH\_TIMELINE\_ACTION

App launched by user opening it from a pin.

APP\_LAUNCH\_SMARTSTRAP

App launched by a smartstrap.

enum AppQuickLaunchAction

Details about how an app was quick launched. Returned by app\_launch\_get\_quick\_launch\_action.

#### Enumerators
APP\_QUICK\_LAUNCH\_ACTION\_NONE

App was not launched via Quick Launch.

APP\_QUICK\_LAUNCH\_ACTION\_HOLD

User held a single button.

APP\_QUICK\_LAUNCH\_ACTION\_TAP

User tapped a button (single click)

APP\_QUICK\_LAUNCH\_ACTION\_COMBO

User held a button combination.
