Notification from SDL to HMI occurs when application permissions were changed. If no permission specified means that application was disallowed and has to be unregistered.
GetListOfPermissions
) when HMI gets the 'user-consent-required' notification per app from SDL (SDL.OnAppPermissionChanged{appID, appPermissionsConsentNeeded: true})
. SDL.GetUserFriendlyMessage
) to communicate about permissions changed when HMI gets the list of permissions that require User's consent.It is app’s responsibility to inform the user to change the app’s settings if user consent is needed for proper app operation.
Any permissions that require user consent are not enabled until a user accepts them. If permissions do not require user consent, they can be applied immediately.
SDL Note:
OnAppPermissionChanged
API. In case HMI will use any of requestTypes disallowed by PolicyTable, SDL will ignore such notifications. OnAppPermissionChanged (appRevoked: true, appID)
and BC.ActivateApp
(NONE) to HMI, in case the <appID>
application is currently registered and in any HMILevel and in result of PTU <appID>
gets "null" policies. OnAppPermissionChanged (isAppPermissionsRevoked: true)
when app is in FULL or LIMITED. SDL doesn't notify HMI about revoked permissions twice. SDL.OnAppPermissionChanged{appID, appPermissionsConsentNeeded: true}
per each application in FULL/LIMITED that lacks the User's permissions right after Policies Manager detects the user-disallowed permissions in Local PT. SDL.OnAppPermissionChanged{appID, appPermissionsConsentNeeded: true} after the related app is activated on HMI (in case the related app is now in BACKGROUND /NONE HMILevel)
. SDL.OnAppPermissionChanged{appID, appPermissionsConsentNeeded: true}
per each application that lacks the User's permissions. GetListOfPermissions(appID)
. Name | Type | Mandatory | Additional |
---|---|---|---|
appID | Integer | true | |
isAppPermissionsRevoked | Boolean | false | |
appRevokedPermissions | Common.PermissionItem | false | array: true minsize: 1 maxsize: 100 |
appRevoked | Boolean | false | |
appPermissionsConsentNeeded | Boolean | false | |
appUnauthorized | Boolean | false | |
priority | Common.AppPriority | false | |
requestType | Common.RequestType | false | array: true minsize: 0 maxsize: 100 |
requestSubType | String | false | array: true minsize: 0 maxsize: 100 maxlength: 100 |
Preconditions to the sequence:
a) SDL and HMI are started;
b) Device is connected to the System (SDL/HU) and is consented by the User;
c) Four apps are registered with SDL and HMI ('name_HMILevel'): app_FULL, app_LIMITED, app_BACKGROUND, app_NONE.
{ "jsonrpc" : "2.0", "method" : "SDL.OnAppPermissionChanged", "params" : { "appID" : 65674 } }