pebble
  • Tutorials
  • Get the SDK
  • Guides
  • Documentation
  • Examples
  • Community
  • Blog
  • More
Privacy
Cookies
Publish

Pebble C API

  • Pebble C API
  • Pebble JavaScript API
  • PebbleKit JS
  • PebbleKit iOS
  • PebbleKit Android
  • Foundation
    • App
    • App Communication
    • App Glance
    • AppMessage
    • AppSync
    • AppWorker
    • DataLogging
    • DataStructures
      • UUID
    • Dictation
    • Dictionary
    • Event Service
      • AccelerometerService
      • AppFocusService
      • BatteryStateService
      • CompassService
      • ConnectionService
      • HealthService
      • TickTimerService
    • Exit Reason
    • Internationalization
    • Launch Reason
    • Logging
    • Math
    • Memory Management
    • Platform
    • Resources
      • File Formats
    • Storage
    • Timer
    • Wakeup
    • Wall Time
    • WatchInfo
    • Rocky
  • Graphics
    • Draw Commands
    • Drawing Paths
    • Drawing Primitives
    • Drawing Text
    • Fonts
    • Graphics Context
    • Graphics Types
      • Color Definitions
  • User Interface
    • Animation
      • PropertyAnimation
    • Clicks
    • Layers
      • ActionBarLayer
      • BitmapLayer
      • MenuLayer
      • RotBitmapLayer
      • ScrollLayer
      • SimpleMenuLayer
      • StatusBarLayer
      • TextLayer
    • Light
    • Preferences
    • UnobstructedArea
    • Vibes
    • Window
      • ActionMenu
      • NumberWindow
    • Window Stack
  • Standard C
    • Format
    • Locale
    • Math
    • Memory
    • String
    • Time

ConnectionService

Determine what the Pebble watch is connected to.

The ConnectionService allows your app to learn about the apps the Pebble watch is connected to. You can ask the system for this information at a given time or you can register to receive events every time connection or disconnection events occur.

It allows you to determine whether the watch is connected to the Pebble mobile app by subscribing to the pebble_app_connection_handler or by calling the connection_service_peek_pebble_app_connection function. Note that when the Pebble app is connected, you can assume PebbleKit JS apps will also be running correctly.

The service also allows you to determine if the Pebble watch can establish a connection to a PebbleKit companion app by subscribing to the pebblekit_connection_handler or by calling the connection_service_peek_pebblekit_connection function. Today, due to architectural differences between iOS and Android, this will return true for Android anytime a connection with the Pebble mobile app is established (since PebbleKit messages are routed through the Android app). For iOS, this will return true when any PebbleKit companion app has established a connection with the Pebble watch (since companion app messages are routed directly to the watch)

Function Documentation

bool connection_service_peek_pebble_app_connection(void)

Query the bluetooth connection service for the current Pebble app connection status.

Returns

true if the Pebble app is connected, false otherwise

bool connection_service_peek_pebblekit_connection(void)

Query the bluetooth connection service for the current PebbleKit connection status.

Returns

true if a PebbleKit companion app is connected, false otherwise

void connection_service_subscribe(ConnectionHandlers conn_handlers)

Subscribe to the connection event service. Once subscribed, the appropriate handler gets called based on the type of connection event and user provided handlers.

Parameters

ConnectionHandlers

A struct populated with the handlers to be called when the specified connection event occurs. If a given handler is NULL, no function will be called.

void connection_service_unsubscribe(void)

Unsubscribe from the bluetooth event service. Once unsubscribed, the previously registered handler will no longer be called.

bool bluetooth_connection_service_peek(void)

DeprecatedBackward compatibility function for connection_service_peek_pebble_app_connection. New code should use connection_service_peek_pebble_app_connection directly. This will be removed in a future version of the Pebble SDK

void bluetooth_connection_service_subscribe(ConnectionHandler handler)

DeprecatedBackward compatibility function for connection_service_subscribe. New code should use connection_service_subscribe directly. This will be removed in a future version of the Pebble SDK

void bluetooth_connection_service_unsubscribe(void)

DeprecatedBackward compatibility function for connection_service_unsubscribe. New code should use connection_service_unsubscribe directly. This will be removed in a future version of the Pebble SDK

Data Structure Documentation

struct ConnectionHandlers

Data Fields

ConnectionHandler pebble_app_connection_handler

callback to be executed when the connection state between the watch and the phone app has changed. Note, if the phone App is connected, PebbleKit JS apps will also be working correctly

ConnectionHandler pebblekit_connection_handler

ID for callback to be executed on PebbleKit connection event.

Typedef Documentation

typedef void(* ConnectionHandler)(bool connected)
typedef ConnectionHandler BluetoothConnectionHandler

DeprecatedBackwards compatibility typedef for ConnectionHandler. New code should use ConnectionHandler directly. This will be removed in a future version of the Pebble SDK.

Need some help?

Functions

  • connection_service_peek_pebble_app_connection
  • connection_service_peek_pebblekit_connection
  • connection_service_subscribe
  • connection_service_unsubscribe
  • bluetooth_connection_service_peek
  • bluetooth_connection_service_subscribe
  • bluetooth_connection_service_unsubscribe

Data Structures

  • ConnectionHandlers

Typedefs

  • ConnectionHandler
  • BluetoothConnectionHandler

Getting Help

Do you have questions about the Pebble SDK?

Do you need some help understanding something on this page?

You can either take advantage of our awesome developer community and check out the SDK Help forums, or you can send us a message through the website!