Customize/Restrict Android OS 在 2 个申请中

Customize/Restrict Android OS within 2 Applications

我们需要用 6.0 Marshmallow 版本修改现有的 Android 平板电脑,删除所有交互系统应用程序和其他应用程序,只使其 运行 有 2 个应用程序。

我们目前正在考虑两种解决方案,一种是自定义 ROM,另一种是创建新的。或者两个使用带有企业移动管理 API 的 COSU 解决方案,这样用户将被限制在某些白名单应用程序上。

请提出可行的解决方案。

最简单的方法可能是使用 Google 的 Android Management API,它兼容所有 Android 设备 运行 Android 5.1 或更高版本。

要在一个应用程序或多个应用程序上锁定设备,您可以定义如下信息亭策略:

"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"
    ]
  }
]

如果没有 link 从一个应用程序到另一个应用程序,您可以实现一个非常简单的自定义启动器以允许切换应用程序,并配置如下策略:

"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"
    ]
  }
]