ConnectIQ android intent for sending a notification to watch?

Former Member
Former Member
I couldn't find this in the API docs. At least not the way I wanted it ;-)

Is it possible for an external app to send a notification to the ConnectIQ app, which in turn will forward it as a notification to the watch?

(The external app should not need any dependencies on the ConnectIQ SDK).

Thanks!
  • The smart notifications on the device are not controllable from within Connect IQ. If you want to generate one, you would need to add your application to the list of apps to generate smart notifications for in Connect Mobile. This would not have any dependencies on the CIQ SDK, but it would require manual action on the part of your users.
    Another alternative is for the companion app to request that the watch app be opened, in which case a prompt to open that watch app will appear. Once opened the app could then display the desired information, but not through the native notification system. This would require mobile SDK dependencies though.
  • IIRC the "Sleep As Android" app had a similar function. It's been open sourced here: https://github.com/urbandroid-team/Sleep-as-Android-Garmin-Addon.

    ArtaudAntonin, does this sound correct?

    Thanks,
    -Coleman
  • Sorry for the late response, I have somehow missed the notification on my mention here.

    However we do not have this functionality directly in Sleep as Android. A blind tip might be to check which actions does the GCM app support and then try to send Intents with those actions and see what that will do.

    This is a list of actions from the GCM manifest

    <action android:name="android.intent.action.MAIN"/>
    <action android:name="android.intent.action.VIEW"/>
    <action android:name="android.intent.action.VIEW"/>
    <action android:name="android.intent.action.VIEW"/>
    <action android:name="com.garmin.android.connectmobile.OPEN_STORE"/>
    <action android:name="android.intent.action.VIEW"/>
    <action android:name="android.intent.action.SCREEN_ON"/>
    <action android:name="android.intent.action.USER_PRESENT"/>
    <action android:name="com.garmin.android.apps.connectmobile.FINDMYPHONE_NOTIFICATION_BROADCAST"/>
    <action android:name="com.garmin.android.gdi.ACTION_ON_CANCEL_FIND_MY_PHONE_MESSAGE_RECEIVED"/>
    <action android:name="android.intent.action.VIEW"/>
    <action android:name="android.intent.action.VIEW"/>
    <action android:name="android.intent.action.SCREEN_ON"/>
    <action android:name="android.intent.action.SCREEN_OFF"/>
    <action android:name="android.Intent.ACTION_USER_PRESENT"/>
    <action android:name="com.garmin.android.gdi.ACTION_ON_FIND_MY_PHONE_MESSAGE_RECEIVED"/>
    <action android:name="com.garmin.android.gdi.ACTION_ON_CANCEL_FIND_MY_PHONE_MESSAGE_RECEIVED"/>
    <action android:name="com.garmin.android.gdi.ACTION_ON_MUSIC_CONTROL_MESSAGE_RECEIVED"/>
    <action android:name="android.intent.action.LOCALE_CHANGED"/>
    <action android:name="android.bluetooth.adapter.action.STATE_CHANGED"/>
    <action android:name="android.bluetooth.device.action.BOND_STATE_CHANGED"/>
    <action android:name="com.garmin.android.gncs.NOTIFICATIONS_NOT_ENABLED"/>
    <action android:name="com.garmin.android.gncs.NOTIFICATION_ACCESS_ENABLED"/>
    <action android:name="com.garmin.android.gdi.ACTION_ON_GNCS_CONTROL_POINT_MESSAGE_RECEIVED"/>
    <action android:name="com.garmin.android.gdi.ACTION_NOTIFICATION_SERVICE_SUBSCRIBE"/>
    <action android:name="com.garmin.android.gdi.ACTION_NOTIFICATION_SERVICE_UNSUBSCRIBE"/>
    <action android:name="com.garmin.android.gdi.ACTION_DEVICE_DISCONNECTED"/>
    <action android:name="com.garmin.android.gdi.ACTION_ADVANCED_MUSIC_CONTROLS_SUBSCRIBE"/>
    <action android:name="android.intent.action.BOOT_COMPLETED"/>
    <action android:name="android.intent.action.QUICKBOOT_POWERON"/>
    <action android:name="com.garmin.android.gdi.ACTION_PROTOBUF_REQUEST_MESSAGE_RECEIVED"/>
    <action android:name="com.garmin.android.gdi.ACTION_PROTOBUF_REQUEST_FAILED"/>
    <action android:name="com.garmin.android.gdi.ACTION_PROTOBUF_CANCEL_MESSAGE_RECEIVED"/>
    <action android:name="com.garmin.android.gdi.ACTION_PROTOBUF_RESPONSE_MESSAGE_RECEIVED"/>
    <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
    <action android:name="com.garmin.android.gdi.ACTION_PAIRING_PASSKEY_REQUIRED"/>
    <action android:name="com.garmin.android.gdi.ACTION_DEVICE_AUTHENTICATE_FAILURE"/>
    <action android:name="com.garmin.android.gdi.ACTION_DEVICE_DISCONNECTED"/>
    <action android:name="com.garmin.android.gdi.ACTION_DEVICE_HANDSHAKE_COMPLETED"/>
    <action android:name="com.garmin.android.gdi.ACTION_DEVICE_DISCONNECTED"/>
    <action android:name="com.garmin.android.gdi.ACTION_GARMIN_DEVICE_XML_READ"/>
    <action android:name="com.garmin.android.apps.connectmobile.action.ACTION_CHECK_FOR_DEVICE_SW_UPDATE"/>
    <action android:name="com.garmin.android.gdi.ACTION_GARMIN_DEVICE_XML_READ_FAILURE"/>
    <action android:name="com.garmin.android.gdi.LOCATION_PERMISSION_DISABLED"/>
    <action android:name="com.garmin.android.gdi.LOCATION_SERVICES_DISABLED"/>
    <action android:name="com.garmin.android.gncs.NOTIFICATION_REQUIRES_PERMISSION"/>
    <action android:name="com.garmin.android.apps.connectmobile.action.DEVICE_SYNC_FINISHED_SUCCESSFULLY"/>
    <action android:name="com.garmin.android.devicesync.ACTION_DEVICE_SYNC_STARTED"/>
    <action android:name="com.garmin.android.devicesync.ACTION_DEVICE_SYNC_FINISHED"/>
    <action android:name="com.garmin.android.devicesync.ACTION_FILE_PROCESSING_FINISHED"/>
    <action android:name="com.garmin.android.gdi.ACTION_BAD_BLUETOOTH_LE_STATE"/>
    <action android:name="com.garmin.android.gdi.ACTION_ON_WEATHER_MESSAGE_RECEIVED"/>
    <action android:name="com.garmin.android.gdi.ACTION_DEVICE_DISCONNECTED"/>
    <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
    <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
    <action android:name="com.garmin.android.apps.connectmobile.action.ACTION_AUTO_SYNC"/>
    <action android:name="android.intent.action.TIMEZONE_CHANGED"/>
    <action android:name="android.intent.action.TIME_SET"/>
    <action android:name="android.location.PROVIDERS_CHANGED"/>
    <action android:name="android.location.MODE_CHANGED"/>
    <action android:name="com.garmin.android.gdi.ACTION_DEVICE_HANDSHAKE_COMPLETED"/>
    <action android:name="com.garmin.android.gdi.ACTION_ON_START_LIVE_TRACK_REQUEST_RECEIVED"/>
    <action android:name="com.garmin.android.gdi.ACTION_ON_CANCEL_START_LIVE_TRACK_REQUEST_RECEIVED"/>
    <action android:name="com.garmin.android.lib.connectdevicesync.ACTION_SYNC_TASK_FINISH"/>
    <action android:name="com.garmin.android.lib.connectdevicesync.ACTION_GOLF_SWING_UPLOAD_STRATEGY_SUCCESS"/>
    <action android:name="service.sync.DeviceSyncService"/>
    <action android:name="android.service.notification.NotificationListenerService"/>
    <action android:name="com.garmin.android.gdi.ACTION_ON_MUSIC_CONTROL_MESSAGE_RECEIVED"/>
    <action android:name="com.garmin.android.apps.connectmobile.CONNECTIQ_SERVICE_ACTION"/>
    <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
    <action android:name="com.google.android.gms.iid.InstanceID"/>
    <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
    <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
    <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
    <action android:name="android.service.notification.NotificationListenerService"/>
    <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
    <action android:name="android.intent.action.MAIN"/>
    <action android:name="com.google.android.gms.measurement.UPLOAD"/>
    <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
    <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
    <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>