0

We need to modify existing Android tablet with 6.0 Marshmallow version, to remove all the interactive system applications and other applications and just make it run with 2 applications.

We were thinking as of now with two solutions either to customize the ROM and create the new one. Or two use COSU solution with Enterprise Mobility Management APIs so that user will be restricted to certain white listed Applications only.

Please suggest the feasible solution to go with.

Community
  • 1
  • 1
Aseem Sharma
  • 1,673
  • 12
  • 19
  • Both solutions are techically feasible. Using an EMM such as WSO2 IoT server is simple since both approaches you mentioned are supported. If its feasible, its best to go for WSO2 professional support for this type of tasks https://wso2.com/contact/ – Inosh Perera Jan 26 '18 at 12:02

1 Answers1

0

The simplest approach is probably to use Google's Android Management API, it's compatible with all Android devices running Android 5.1 or above.

To lock the device on one app, or on multiple app, you define a kiosk policy like below:

"applications": [
 {
   "packageName": "com.example.app",
   "installType": "FORCE_INSTALLED",
   "lockTaskAllowed": true,
   "defaultPermissionPolicy": "GRANT",
 },
 {
   "packageName": "com.example.app2",
   "installType": "FORCE_INSTALLED",
   "lockTaskAllowed": true,
   "defaultPermissionPolicy": "GRANT",
 }
"persistentPreferredActivities": [
  {
    "receiverActivity": "com.example.app/.com.example.app.MainActivity",
    "actions": [
      "android.intent.action.MAIN"
    ],
    "categories": [
      "android.intent.category.HOME",
      "android.intent.category.DEFAULT"
    ]
  }
]

If there is no link from one app to the other you can implement a very simple custom launcher to allow switching apps, and configure the policy as below:

"applications": [
 {
   "packageName": "com.custom.launcher",
   "installType": "FORCE_INSTALLED",
   "lockTaskAllowed": true,
   "defaultPermissionPolicy": "GRANT",
 },
 {
   "packageName": "com.example.app",
   "installType": "FORCE_INSTALLED",
   "lockTaskAllowed": true,
   "defaultPermissionPolicy": "GRANT",
 },
 {
   "packageName": "com.example.app2",
   "installType": "FORCE_INSTALLED",
   "lockTaskAllowed": true,
   "defaultPermissionPolicy": "GRANT",
 }
"persistentPreferredActivities": [
  {
    "receiverActivity": "com.custom.launcher/.com.example.app.MainActivity",
    "actions": [
      "android.intent.action.MAIN"
    ],
    "categories": [
      "android.intent.category.HOME",
      "android.intent.category.DEFAULT"
    ]
  }
]
Fred
  • 2,191
  • 1
  • 12
  • 14