Quick Start
Launcher Setup
Steps to getting launcher on a device:
- Build configuration
- Install configuration
- Install application
- Start launcher
Build Configuration
To start, you need a Launcher.json file. Using the EMS Portal, this can be easily generated. The Portal will pre-fill the current license key and organization id.
There is an example configuration on the configuration page and another one at the bottom of this page.
Setup the License Key
Ask your Bluefletch contact for your license key, and place it in the configuration file as follows:
{
"configVersion" : "2020-01-01-start",
"license" : "paste license key here",
...
}
It is suggested that the configVersion is updated each time the configuration file is touched. This field is for reference only.
Setting up your Homescreen
Assign applications to User's groups
Identify the groups that will be returned from your Identity Provider. In the example below, we expect to get both Supervisor and Associates as the named groups. Set up these user groups in the layout
fields as shown below. To add a package to a group, add a JSON object with the package
field, as shown below.
...
"layouts" : {
"Supervisor": [
{ "package" : "com.bluefletch.ems.support" },
{ "package" : "com.android.calculator2" }
],
"Associates" : [ ... ],
"*" : [ ... ]
},
...
In the above example:
- Supervisors will see the two apps from the 'Supervisor' array.
- Associates will see apps from 'Associates' array only.
- Non logged-in users will see the apps in the '*' or open zone section.
Bookmarks
To specify a bookmark, add a JSON object as follows:
...
"layouts" : {
"Supervisor": [
{ "package" : "com.bluefletch.ems.support" },
{ "package" : "com.android.calculator2" },
{
"label" : "Bluefletch Web",
"url" : "https://bluefletch.com",
"icon" : "/sdcard/DCIM/icons/bluefletch_logo.png"
}
],
"Associates" : [ ... ],
"*" : [ ... ]
},
...
Folders
To create a folder, you will need to specify the label
and the contents
which will contain the different apps in the folder. You can use the same syntax for the application object inside the contents
of the folder. To put the above applications inside an "App Folder" folder:
...
"layouts" : {
"Supervisor": [
{
"label" : "App Folder",
"contents" : [
{ "package" : "com.bluefletch.ems.support" },
{ "package" : "com.android.calculator2" },
{ "label" : "Bluefletch Web", "url" : "https://bluefletch.com",
"icon" : "/sdcard/DCIM/icons/bluefletch_logo.png"
}
]
},
{ "package" : "com.google.calendar" }
],
"Associates" : [ ... ],
"*" : [ ... ]
},
...
Customizing Labels/Icons
For the complete syntax of an application object, click here.
General Settings
Install configuration
Copy the launcher.json file to the following location:
/sdcard/Download/ems/launcher.json
Launcher will pick this file up and move it to:
/sdcard/Android/data/com.bluefletch.launcher/files/blueLauncher/launcher.json
Additionally the Launcher will monitor for any changes to these locations and reapply to the application.
Install application
Download the launcher APK from the EMS Portal Downloads page, and intall the APK via your MDM or sideload via ADB.
adb install ./launcher.apk
The following package will be installed Package: com.bluefletch.launcher
It is suggested that Permissions be granted prior to launching the application.
Permissions via ADB
adb shell pm grant com.bluefletch.launcher android.permission.READ_PHONE_STATE
adb shell pm grant com.bluefletch.launcher android.permission.RECEIVE_BOOT_COMPLETED
adb shell pm grant com.bluefletch.launcher android.permission.READ_EXTERNAL_STORAGE
adb shell pm grant com.bluefletch.launcher android.permission.WRITE_EXTERNAL_STORAGE
adb shell pm grant com.bluefletch.launcher android.permission.ACCESS_NETWORK_STATE
adb shell pm grant com.bluefletch.launcher android.permission.ACCESS_FINE_LOCATION
adb shell pm grant com.bluefletch.launcher android.permission.INTERNET
adb shell pm grant com.bluefletch.launcher android.permission.NFC
Permission via SOTI
afw_set_permission_grant_state com.bluefletch.launcher android.permission.READ_PHONE_STATE allow
afw_set_permission_grant_state com.bluefletch.launcher android.permission.RECEIVE_BOOT_COMPLETED allow
afw_set_permission_grant_state com.bluefletch.launcher android.permission.READ_EXTERNAL_STORAGE allow
afw_set_permission_grant_state com.bluefletch.launcher android.permission.WRITE_EXTERNAL_STORAGE allow
afw_set_permission_grant_state com.bluefletch.launcher android.permission.ACCESS_NETWORK_STATE allow
afw_set_permission_grant_state com.bluefletch.launcher android.permission.ACCESS_FINE_LOCATION allow
afw_set_permission_grant_state com.bluefletch.launcher android.permission.INTERNET allow
afw_set_permission_grant_state com.bluefletch.launcher android.permission.NFC allow
Start launcher
To start, use com.bluefletch.launcher.Launcher
Example ADB Command
adb shell am start -n com.bluefletch.launcher/com.bluefletch.launcher.Launcher
Example AirWatch Command
mode=explicit,action=android.action.intent.MAIN,package=com.bluefletch.launcher,class=com.bluefletch.launcher.Launcher,broadcast=false
On first execution, the launcher will set itself as the defualt Launcher and reboot the device.
Example Configuration
{
"configVersion" : "2019.12.20.1",
"license":"license here.",
"layouts" : {
"Supervisor":[
{
"package" : "com.symbol.wfc.pttpro"
},
{
"package": "com.bluefletch.ems.deviceinformation"
},
{
"label" : "Vision Settings",
"package": "com.bluefletch.ems.vision",
"activity": "PreferenceActivity"
},
{
"label" : "Vision Training",
"package": "com.bluefletch.ems.vision",
"activity": "FaceTrainActivity"
},
{
"label" : "Tools",
"contents":[
{
"package":"com.bluefletch.acc.themerapp"
},
{
"package" : "com.bluefletch.ems.support"
},
{
"package" : "com.symbol.datawedge"
},
{
"package" : "com.symbol.tool.stagenow"
},
{
"package": "com.bluefletch.go"
}
]
}
],
"Associates":[
{
"package" : "com.symbol.wfc.pttpro"
},
{
"label" : "Vision Training",
"package": "com.bluefletch.ems.vision",
"activity": "FaceTrainActivity"
},
{
"package": "com.bluefletch.ems.support"
},
{
"package": "com.android.calculator2"
},
{
"package": "com.bluefletch.ems.deviceinformation"
}
],
"*": [
{
"label" : "BlueFletch",
"url" : "https://bluefletch.com",
"icon" : "/sdcard/DCIM/icons/bluefletch_logo.png"
},
{
"package": "com.android.calculator2"
},
{
"package" : "com.bluefletch.ems.support"
},
{
"label" : "Tools",
"contents":[
{
"package":"com.bluefletch.acc.themerapp"
},
{
"package" : "com.symbol.datawedge"
},
{
"package" : "com.symbol.tool.stagenow"
},
{
"package": "com.koushikdutta.vysor"
}
]
}
]
},
"settings": {
"idleTimeInMinutes": 120,
"maxSessionTimeInMinutes": 480
},
"emsSupportTool" : {
"orgId":"orgnaization_id_here"
}
}