Why is setting the screen lock type by EMDK "DevAdmin" profile not supported on TC75?

// Expert user has replied.
R Richard Venderbosch 2 years 11 months ago
37 5 0

We want to programmatically change the screen lock type at run time to avoid doing this manually or by an ADB script during staging.
Unfortunately this doesn't seem to be supported on TC75 with Android 5.1.1 (with EMDK service version 6.0.7.307 and MX framework version 6.1.0.9).
The profile parameter string we use for setting the screen lock type looks like this (with "lockType" set to 5):
 
profileParamString[0]=
   ""   +""   +""   // +""   +""   +""   +""   +"";
 
But the call is not successful and in the log cat I see these messages:
 
02-02 16:46:14.691 3141-3155/? D/com.symbol.emdk.emdkservice.ProfileHandler: createProfile - mxProfile =
02-02 16:46:14.698 2665-3274/? I/MxFrameworkService: processXmlRequest: call AIDL getValue() on: DevAdmin
02-02 16:46:14.700 2665-3274/? I/MxFrameworkService: processXmlRequest: AIDL getValue(): return value = null
02-02 16:46:14.713 5124-5124/? I/MxStatsCSPService: onServiceConnected
02-02 16:46:14.728 3141-3155/? D/com.symbol.emdk.emdkservice.ProfileHandler: createProfile - mxResponse =
 
Apparently the error description "This Feature is not supported below OSx6.0" is related to the Android OS version, not to the MX version.
What is the reason for this restriction to Android 6 (or higher)?
It is not documented on DevAdmin Manager - Zebra Technologies Techdocs.
 
We need this feature also on TC75, TC70 and TC8000 (which will presumably never get Android 6).

Please register or login to post a reply

5 Replies

P Pietro Francesco Maggi

Interesting...

I believe this was the case in the past but may be we have modified this feature implementation so that it works on older devices.
We can ask to ​ to see if he knows when this was changed...

Richard, which BSP version are you using on the TC75 Lollipop? Latest is 20.05 on our support website:
https://www.zebra.com/us/en/support-downloads/software/operating-system…

Best,
~Pietro

R Richard Venderbosch

Hello Pietro.

Yes, it is the latest BSP version v20.05 non-GMS.

Meanwhile I experience a very different behaviour in form of a strange security exception ("Binder invocation to an incorrect interface").
Here are the log cat entries:

02-03 12:32:14.838 3178-3192/? D/com.symbol.emdk.emdkservice.ProfileHandler: createProfile - mxProfile =
02-03 12:32:14.845 2659-2680/? I/MxFrameworkService: processXmlRequest: call AIDL getValue() on: DevAdmin
02-03 12:32:14.848 2659-2680/? I/MxFrameworkService: processXmlRequest: AIDL getValue(): return value = null
02-03 12:32:14.851 2505-3291/? W/Parcel: **** enforceInterface() expected 'com.symbol.osx.proxyframework.ISettingsService' but read 'com.symbol.osx.proxyframework.ISystemInformationReporting'
02-03 12:32:14.852 3257-3276/? W/System.err: java.lang.SecurityException: Binder invocation to an incorrect interface
02-03 12:32:14.852 3257-3276/? W/System.err:     at android.os.Parcel.readException(Parcel.java:1546)
02-03 12:32:14.852 3257-3276/? W/System.err:     at android.os.Parcel.readException(Parcel.java:1499)
02-03 12:32:14.852 3257-3276/? W/System.err:     at com.symbol.osx.proxyframework.e.a(Unknown Source)
02-03 12:32:14.852 3257-3276/? W/System.err:     at com.symbol.mxmf.csp.devadmin.c.b(Unknown Source)
02-03 12:32:14.852 3257-3276/? W/System.err:     at com.symbol.mxmf.csp.devadmin.c.a(Unknown Source)
02-03 12:32:14.852 3257-3276/? W/System.err:     at com.symbol.mxmf.csp.devadmin.MxDevAdminCSPService.a(Unknown Source)
02-03 12:32:14.852 3257-3276/? W/System.err:     at com.symbol.mxmf.csp.devadmin.MxDevAdminCSPService.a(Unknown Source)
02-03 12:32:14.852 3257-3276/? W/System.err:     at com.symbol.mxmf.csp.devadmin.f.a(Unknown Source)
02-03 12:32:14.852 3257-3276/? W/System.err:     at com.symbol.mxmf.csp.devadmin.f.a(Unknown Source)
02-03 12:32:14.852 3257-3276/? W/System.err:     at com.symbol.mxmf.b.onTransact(Unknown Source)
02-03 12:32:14.852 3257-3276/? W/System.err:     at android.os.Binder.execTransact(Binder.java:446)
02-03 12:32:14.861 3178-3192/? D/com.symbol.emdk.emdkservice.ProfileHandler: createProfile - mxResponse =

Regards,

Richard.

P Pietro Francesco Maggi

Hi Richard,
OSx is our extension layer built into the Android OS that we can only update when updating the BSP of the device.

As you've seen the feature you're trying to use requires OSx v6.0 that is only available on our Marshmallow devices, as shown in Mx compatibility guide:
MX Feature Compatibility - Zebra Technologies Techdocs

The Mx layer is different as we can upgrade it when you install a new EMDK runtime or, in the future, when you're going to install OS maintenance release.

There's no plan to backport OSx functionality to older OS. If you have a specific requirement you should contact your local Zebra office or our support.

Best regards
~Pietro

R Richard Venderbosch

Hello Pietro.

Thank you very much for your quick response.

But I'm still struggeling to understand why this feature is not supported on TC75 with Android 5.1.1.
Following your link ("MX Feature Compatibility") I find this:

Screen Lock Type

  1.3+ 
6.0+
All

Do not change
1.3+ 
6.0+
All

Swipe
1.3+ 
6.0+
All

Pattern
1.3+ 
6.0+
All

Pin
1.3+ 
6.0+
All

Password
1.3+ 
6.0+
All

None
1.3+ 
6.0+
All

OSX version must be 1.3 or higher, MX version must be 6.0 or higher and Android API Level is "All".

OSX version on my TC75 is displayed as "QC.51.5.2.7" which I read as OSX version "5.2".
So - in my humble understanding - all conditions are met

Or is just the documentation not accurate?

Regards,

Richard.

E Edward Correia

Hello Richard-

According to our engineering department, the Lock Screen Type parameter requires OSx 6.0 and higher. Our documentation doesn't reflect this and will be amended as soon as possible. I apologize for any inconvenience this may have caused. 

Thank you for bringing this to our attention.

Regards,
Eddie Correia
Zebra Technologies

CONTACT
Can’t find what you’re looking for?