5 Replies Latest reply on Feb 3, 2017 8:25 AM by Edward Correia

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

    9ee6e931-c37a-4cfb-b1d3-c8c319072c6e

      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]=

         "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
         +"<characteristic type=\"Profile\">"
         +"<parm name=\"ProfileName\" value=\""+profileName+"\"/>"
         // +"<parm name=\"TargetSystemVersion\" value=\"6.1\"/>"
         +"<characteristic type=\"DevAdmin\" version=\"6.0\">"
         +"<parm name=\"ScreenLockType\" value=\""+lockType+"\" />"
         +"</characteristic>"
         +"</characteristic>";

       

      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 = <?xml version="1.0" encoding="UTF-8"?><wap-provisioningdoc><characteristic type="DevAdmin" version="6.0"><parm name="ScreenLockType" value="5"/></characteristic></wap-provisioningdoc>

      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 = <wap-provisioningdoc><characteristic type="DevAdmin" version="6.0"><parm-error name="ScreenLockType" value="5" desc="This Feature is not supported below OSx6.0 version"/></characteristic></wap-provisioningdoc>

       

      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).

        • Re: Why is setting the screen lock type by EMDK "DevAdmin" profile not supported on TC75?
          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

            • Re: Why is setting the screen lock type by EMDK "DevAdmin" profile not supported on TC75?
              9ee6e931-c37a-4cfb-b1d3-c8c319072c6e

              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.

                • Re: Why is setting the screen lock type by EMDK "DevAdmin" profile not supported on TC75?
                  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 RXFN78 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/tc75-operating-system.html

                   

                  Best,

                  ~Pietro

                    • Re: Why is setting the screen lock type by EMDK "DevAdmin" profile not supported on TC75?
                      9ee6e931-c37a-4cfb-b1d3-c8c319072c6e

                      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 = <?xml version="1.0" encoding="UTF-8"?><wap-provisioningdoc><characteristic type="DevAdmin" version="6.0"><parm name="ScreenLockType" value="5"/></characteristic></wap-provisioningdoc>

                      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 = <wap-provisioningdoc><characteristic type="DevAdmin" version="6.0"><parm name="ScreenLockType" value="5"/></characteristic></wap-provisioningdoc>

                       

                      Regards,

                       

                      Richard.

                    • Re: Why is setting the screen lock type by EMDK "DevAdmin" profile not supported on TC75?
                      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