Expand Minimize Picture-in-picture Power Device Status Voice Recognition Skip Back Skip Forward Minus Plus Play Search
Internet Explorer alert
This browser is not recommended for use with smartdevicelink.com, and may not function properly. Upgrade to a different browser to guarantee support of all features.
close alert
To Top Created with Sketch. To Top
To Bottom Created with Sketch. To Bottom
HMI Documentation


Inform SDL that the user has activated an application.


  1. Send SDL.ActivateApp.
  2. Send a request to SDL to get messages for specified permissions (via GetUserFriendlyMessage) and notify user that provided permissions of application were decreased in case HMI gets "isAppPermissionRevoked:true" respond from SDL PoliciesManager.
  3. Send GetListOfPermissions request to SDL in order to obtain list of message codes for functional groups needed by application for user to consent when PoliciesManager responds with "isPermissionsConsentNeeded: true" .
  4. Display Dialog and on result of user selection to send OnAllowSDLFunctionality specifying device from ActivateApp response, source of choice (UI/VR) and allowed set to true/false (if user ignores question, this is automatically set to false) when HMI receives SDL.ActivateApp (isSDLAllowed: false).

SDL PoliciesManager must:

  • respond with "isPermissionsConsentNeeded: true", otherwise "isPermissionsConsentNeeded: false" should be returned to HMI, in case SDL got SDL.ActivateApp from HMI and LocalPT contains the permission that require User`s consent.
  • respond with "isSDLAllowed: true" in the response to HMI, on getting SDL.ActivateApp from HMI and the device the app is running on is consented by the User.
  • respond with the following parameters in the response to HMI:
    • "isSDLAllowed: false"
    • device param containing the device`s name and ID previously sent by SDL via UpdateDeviceList.


Name Type Mandatory Description
appID Integer true ID of the application that the User has chosen.



Name Type Mandatory Additional Description
isSDLAllowed Boolean true scope: internal SDL returns:‘true’, in case the User has allowed using the device for PolicyTable Exchange. ‘false’, in case the User has not yet been asked for or in case the User has disallowed using the device for PolicyTable Exchange.
device Common.DeviceInfo false scope: internal
isPermissionsConsentNeeded Boolean true
isAppPermissionsRevoked Boolean true
appRevokedPermissions Common.PermissionItem false array: true
minsize: 1
maxsize: 100
isAppRevoked Boolean true
priority Common.AppPriority false

Sequence Diagrams

a. Device is connected to the HU.
b. App_1 is running on this device and is registered with SDL.
c. App_1 presents in the list of registered apps on HMI.

JSON Message Examples

Example Request

  "id" : 27,
  "jsonrpc" : "2.0",
  "method" : "SDL.ActivateApp",
  "params" :
    "appID" : 12345

Example Response

  "id" : 27,
  "jsonrpc" : "2.0",
  "result" :
    "isSDLAllowed" : true,
    "isPermissionsConsentNeeded" : false,
    "isAppPermissionsRevoked" : false,
    "isAppRevoked" : false,
    "code" : 0,
    "method" : "SDL.ActivateApp"

Example Error

  "id" : 27,
  "jsonrpc" : "2.0",
  "error" :
    "code" : 22,
    "message" : "The unknown error has occurred",
    "data" :
      "method" : "SDL.ActivateApp"
View on GitHub.com
Previous Section Next Section