Is there a way to set the language of the Enterprise Keyboard with Mobicontrol independend of the language of Android itself ?
Zebra MX often provides the extra on top of what OEM-independent Android Enterprise API's support. If you could not find anything in MX, it is unlkely that you can do it via AE API's from Soti or any other EMM solutions.
Thanks for the interesting post!
As per your post, I performed testing on my local environment. What I basically did is I enrolled a device as Android+ (this supports the command I used) and I sent the following command to the device: watchsettings on
This command logs user actions in the Web Console in the Logs tab on the device. In this case I tried to play around with a German keyboard. This looks something like that:
Custom log (://settings/system SETTING:handwriting_language_list VALUE:en_US;)
Custom log (URI:content://settings/secure SETTING:enabled_input_methods VALUE:com.google.android.googlequicksearchbox/com.google.android.voicesearch.ime.VoiceInputMethodService:com.sec.android.inputmethod/.SamsungKeypad;1701729619;1684340736)
These are the scripts I have sent to the device to try to change these entries to change it to German keyboard:
writesecuresetting -sys handwriting_language_list de_DE
writesecuresetting -sec enabled_input_methods com.google.android.googlequicksearchbox/com.google.android.voicesearch.ime.VoiceInputMethodService:com.sec.android.inputmethod/.SamsungKeypad;1701729619
Unfortunately this does not seem to work. I was able to find the specific entries to target the scripts but it didn't work. So the conclusion is that it's not possible as of now. The only other way that could perhaps work is the use of macros. Are all of the devices set the same way? If so, do they have any type of pin, if so - is it the same on all? The macro idea is very dependent on deployment and won't work for any scenario as what it involves is "recording" steps on one device, and then replicating these steps on other devices, but everything must be the same on every device for it to work properly.
Hope this information helps you!
Technical Support | SOTI Inc. |+1-888-494-SOTI (7684) | firstname.lastname@example.org | www.soti.net |
Yes finally found the answer! We have Zebra TC52 devices deployed all over Europe and doing support remotely from 1 country. So for us, it was not an option to change the OS system language to any of the languages of the device's location.
This is what we wanted to accomplish:
All Countries: OS System : English_UK
Netherlands: Layout Enterprise Keyboard: Querty - Dutch
Belgium: Layout Enterprise Keyboard: Azerty - Dutch_Be
Germany: Layout Enterprise Keyboard: Qwertz - German
Etc. You understand what we want to do right?
So in Zebra's MX 10.1+, this is finally doable!
Choose Xpert and select Enterprise Keyboard Settings TWICE!! (You must do this twice, for example, if you send new configuration it will only ADD the new layout and not REPLACE the new layout setting!)
In the first EnterpriseKeyboard settings, the only thing you set is this:
Language to Use: Android System. This way you sort of 'reset' your current settings for the Keyboard Languages.
(for example, we want devices to change keyboard languages when shipped to different countries)
In the 2nd EnterpriseKeyboard setting, you can change all the settings to what every layout you prefer, let's say, you want auto-correct on or off, you can choose whatever you want.
At Language to Use, you select: 'Enterprise Keyboard'
At Language Action: you select 'Enable'
Language(s): you select: 'Custom Language'
Then when you continue, review the settings and select 'export for MDM'
You'll now have a XML. We are going to alter this XML to requested language:
Dutch = 'Dutch'
Russian = 'Russian'
German = 'German'
You can find your language here: https://android.googlesource.com/platform/packages/inputmethods/LatinIME/+/fd1267e/java/res/xml/method.xml
Then create a package and create a post install script:
mxconfig 'path to xml file'
Not sure if the reboot is necessary but that's what I am doing at least...
Good luck! =D