Community - SOTI MobiControl

Community - SOTI MobiControl

There's a new home for Articles. Find Articles on Our Product Support Page.

Android Scripting Discussions


  • 0 votes 3 answers

    Device inactivity script

    I've noticed that you can run scripts with the device inactivity option.  I'm able to show a message to the device, but is it possible when they press a certain button there will be a action afterwards. I would like to close an app when pressing OK.. Could someone help me out? for example showmessagebox "error message"  NO_TIMER 4if %ShowMessageBoxReturn% == IDOK goto KillBrowser command (kill_application com.honeywell.enterprisebrowser)if %ShowMessageBoxReturn% == IDCANCEL goto Exit

    Android Scripting
    a year ago
  • 0 votes 3 answers

    Navigation bar script Solved

    Hello, I had a question, I can't find anything about this in the "help" folder directly and after searching for a bit, i gave up.  If you have an samsung xcover 6 or + you have the 3 buttons (navigation bar) down below. In the config on the samsung itself you can change this manually to go the other direction. Is there any chance this can be made into a script so I can put this script on my config file for other phones aswell?

    Android Scripting
    a year ago
  • 0 votes 9 answers

    how to get 5G network as preffered on samsung devices

    I have about 100 Android+ devices of the type Samsung SM-G736B in SOTI, but their network preference is currently set to 4G/3G/2G (auto). I want to change this to 5G/4G/3G/2G (auto). Is there a script that allows me to force this change on all devices at once? I do not want to do it manually one by one.

    Android Scripting
    a year ago
  • 0 votes 7 answers

    Parallels Client on Android - SOTI deployment - Parameters injection

    Hello,We are using a MDM solution (SOTI) in order to deploy the Parallels client on all the devices.We have no problems with the installation of the APK itself but we would like to inject automatically the parameters itself (including the password if possible).We have defined a X2C file but the application is not authorized to access the file (and we didn't find any parameters to authorize such access for the application).Here is our postinstall code: ;; program executed with XML flow and variablessendintent -a "intent:#Intent;action=android.intent.action.MAIN;component=fr.solutys.filesettings/.MainActivity;S.LoginProginov=%CustomAttr:LoginProginov%;S.NomTerminal=%CustomAttr:NomTerminal%;S.file-modify=/sdcard/solutys/servers.2xc;end;"sendintent -a "intent:file:///sdcard/solutys/servers.2xc#Intent;type=application/2xc;action=android.intent.action.VIEW;launchFlags=0x10000000;end"​ We also tried to copy the X2C file in the "data" folder without success: copy %sdcard%/Download/servers.2xc %sdcard%/Android/data/com.parallels.client/files/Parallels Client/servers.2xc​ Can anyone help? Thanks in advance.

    Android Scripting
    a year ago
  • 0 votes 6 answers

    How do I execute my XML file in JavaScript? It shows the right file to process however it is not processing the file. I think i'm missing a piece Solved

    Here is my code and the output, it shows the right file to execute but it is not processing the file. /* global mobicontrol */var ip = null;mobicontrol.network.activeNetwork.ipAddresses.forEach(ipInner => {    if (!ipInner.isLoopback && !ipInner.isLinkLocalAddress) {        var currentIp = ipInner.hostAddress;        const re = /^\d+\.\d+\.\d+.\d+$/;        var isIp4 = re.test(currentIp);        if (isIp4) {            ip = currentIp;            return;        }    }});var filename;if (ip !== null) {    var split_it = ip.split(".");    var octet2 = ip[1];    var serverNumber = parseInt(octet2, 10);    switch (serverNumber) {        // each needs to represent the service center number and associated timezone        case 65: //ABI        case 64: //AMA        case 55: //AUS        case 26: //BHM        case 87: //BLG        case 47: //BTR        case 60: //CRP        case 41: //DFW        case 31: //DOT        case 69: //FTS        case 80: //FTW        case 90: //GAR        case 42: //HOU        case 28: //HSV        case 35: //JAC        case 79: //JBO        case 56: //JCK        case 78: //LAF        case 61: //LRD        case 70: //LRK        case 88: //LUB        case 59: //MCA        case 29: //MGM            filename = '/sdcard/TimeZones/Central_TimeZone.xml';        case 63: //ELP            filename = '/sdcard/TimeZones/Mountain_TimeZone.xml';        case 49: //RCO            filename = '/sdcard/TimeZones/Atlantic_TimeZone.xml';                    default:            filename = '/sdcard/TimeZones/Eastern_TimeZone.xml';    }} else {    mobicontrol.log.error("Could not find the machine's IP Address defaulting to Eastern.");    filename = '/sdcard/TimeZones/Eastern_TimeZone.xml';}mobicontrol.log.info('Found ' + filename + ' to sync.');// Map the timezone to some configuration file to be downloaded.//The time zone files will be synced prior to implementing this via soti file sync rule

    Android Scripting
    a year ago
  • 0 votes 6 answers

    Display Full Notification Details on Lock Screen Solved

    Hello everyone,I’m looking for a script to change the notification display on the lock screen. Currently, only icons are shown, but I would like all details to be displayed. Is there a script for this? The manual procedure is attached. Device: Samsung Galaxy XCover 5 Thank you!

    Android Scripting
    a year ago
  • 0 votes 2 answers

    JS to pull IP address and execute time sync file based on first 2 octets of IP address.

    Hi SOTI Community it's me again lol: I'm new to JS and learning with Code Academy and God! Today I'm struggling with 1. pulling the IP address from my device details page 2. executing a time sync XML file in JS (I already have the time sync file synced to the device).  This is only pieces of my code that I'm currently working on: The end goal is to be able to: 1. write the device details to a new file on my sd card  ( I have most of this but the IP address is not working) 2. read the contents of the file to grab the ip address ( i think i have this working, it's just pulling wrong information) 3. based on that ip address, execute a specific time zone file ( i don't know how to execute my XML file in JS to apply the time zone on the device) Here is the code I have so far:  var folderPath = '/sdcard/DeviceInfo'; var deviceId = mobicontrol.device.id; var deviceMAC = mobicontrol.device.macAddress; var ipAddresses = mobicontrol.network.activeNetwork.ipAddresses; var deviceIP = ipAddresses[0].hostAddress var xmlString = '<?xml version="1.0" encoding="utf-8"?>\n' + '<deviceinfo>\n' + ' <device id="' + deviceId + '"/>\n' + ' <device macaddress="' + deviceMAC + '"/>\n' + ' <device ip="' + deviceIP + '" />\n' + '</deviceinfo>'; var xmlFile = new mobicontrol.io.File('/sdcard/DeviceInfo/DeviceInfo.xml'); checkFolder(); function checkFolder() { var foldercheck = new mobicontrol.io.File(folderPath); if (foldercheck.exists) { mobicontrol.log.info('Folder exists'); } else { mobicontrol.log.info('Folder does not exist.') newFolder(); }; } newFolder(); function newFolder() { new mobicontrol.io.File(folderPath).createDirectory(); } xmlFile.writeText(xmlString); var xmlContent = xmlFile.readText(deviceId); mobicontrol.log.info('Device ID: ' + deviceId);     the output for the IP address was working before but today when i try it is giving me this: *i modified the file but everything is showing correct but the IP address* it is not giving me the actual IP anymore of 10.1.X.X   Any help at all or a point in the right direction is greatly appreciated!!!

    Android Scripting
    a year ago
  • 0 votes 3 answers

    Script to reset mobile network settings for Samsung XC6P devices?

    Is there a script that can reset mobile network settings on Samsung devices. I think the challenge here also is when I select reset mobile network it takes me to another screen (like a confirmation screen) to confirm to reset the settings. See attached, may also be a Samsung question but I wanted to start here first: 

    Android Scripting
    a year ago
  • 0 votes 2 answers

    How do I write the Device ID and Mac Address to an XML file on the SD Card? Is that possible? Solved

    How do I write the Device ID and Mac Address to an XML file on the SD Card? Is that possible?  Here is what I have so far from, but i'm not sure how to get this in a XML file on the device: function getDeviceId() { return mobicontrol.device.id; } var deviceId = getDeviceId(); mobicontrol.log.info("Device ID: " + deviceId);

    Android Scripting
    a year ago
  • 0 votes 11 answers

    JS to process a synced file based on the custom attribute Solved

    New to JS but I want to sync a certain time zone xml file based on the location of a device, where i will get the location from the custom attribute. is this possible? I found this on SOTI portal but not sure how to use it with processing the time zone file that I've synced, instead of just displaying it in the logs. SEFL_LOC is my custom attribute: var myCustomValue = mobicontrol.agent.getCustomAttribute("SEFL_LOC"); if (myCustomValue != null) {     mobicontrol.log.info("Custom attribute for key SEFL_LOC: " + myCustomValue); } else {     mobicontrol.log.info("Custom attribute for key SEFL_LOC is not found"); } sdcard/Timezones is the path 

    Android Scripting
    a year ago
  • 0 votes 3 answers

    SendIntent to Zebra Datawedge to delete profile Solved

    Hi, I am running MobiControl (still on 15.6) and I need to delete a profile in the Zebra Datawedge. Before I can install the new version of an application I need to make sure that the old profile is deleted from the device. The Datawedge profile was created by the app but the app is developed not very good, so I need to take care of it.  I thought I could do it with a script (sendintent) but somehow nothing is happening. Here is what I tried to send to the device: sendintent -b "intent:#Intent;action=com.symbol.datawedge.api.ACTION;S.putExtra=DELETE_PROFILE,xxxProfileNamexxx;end"   The techdocs of Zebra Delete Profile - Zebra Technologies TechDocs are not very useful to me so maybe one of you can send me to the right direction or give me some hints.   Thanks in advance  

    Android Scripting
    a year ago
  • 0 votes 2 answers

    How to enable Alarms & Reminders Permission

    I am looking for a way to either send a script to allow this permission or allow the user to enable this permission in the kiosk without unlocking the rest of the settings. This is on Android 14 Android API Level 34

    Android Scripting
    a year ago
  • 0 votes 2 answers

    Script to install a profile that is showing "administratively removed" so i can quickly reinstall it on about 400 devices instead of doing this manually

    I sent a ps script to revoke restart and reinstall a profile but it got hung up half way through and now the profile is stuck on 'administratively removed' and i have to manually install it back. Is there a script that i can send to all of them for the profile in question to grab them all in one go?

    Android Scripting
    a year ago
  • 1 votes 4 answers

    Seeking Solution to Remove Duplicate Contacts Without Affecting Locally Saved Contacts

    Hi, After updating to a new version of MobiControl, we encountered an issue where a script inadvertently ran multiple times on our end-user devices. As a result, some devices now have over 200,000 contacts, with at least 8 duplicates for each entry. Over time, users have also manually added local contacts, which are important for their work. I have been using the following script: import_contacts_vcf "/sdcard/download/All_Contacts_190324.vcf" 1 UTF-8   However, this script deletes all existing contacts before importing the original .vcf file, which results in the loss of locally saved contacts. I’m looking for a solution that can identify and remove duplicate contacts without affecting the contacts that users have added manually. Ideally, this script would detect duplicates and merge them, preserving all unique user-added contacts. Is there a solid solution available for this scenario? Any guidance would be greatly appreciated. Thanks in advance.

    Android Scripting
    2 years ago
  • 0 votes 4 answers

    How to sync time to current datetime for device dont have sim card or telephone carrier

    HI SOTI discussion I have some issue with tablet device , some device time is not current , so i want to set or sync date time to current date time with script or use xml file. how to do ? Table Samsung Galaxy TAB S4 S6 Network is Wifi hot spot not use sim card  Agent 15,3 Server version 2024

    Android Scripting
    2 years ago

Top 3 Contributors of The Week

View All

Earn Contributor Badge

More info
  • Diamond
    Diamond New

    Top-tier experts who are delivering outstanding content. Should have more than 7000 points.

  • Platinum
    Platinum

    Experts who are consistent with great content. Should have more than 1000 points.

  • Gold
    Gold

    Highly experienced members with valuable inputs. Should have more than 700 points.

  • Silver
    Silver

    Beginners taking the initiative. Should have more than 500 points.

  • Bronze
    Bronze New

    New contributors starting their journey. Should have more than 250 points.