Android:如何让设备只运行一个应用程序?

2024-06-02

我有一个客户项目,我必须制作单任务 Android 设备。客户无法逃脱我公司开发的应用程序。此外,客户无法启动任何其他应用程序,而我们的应用程序会在设备启动时启动。总体而言,客户能够使用设备执行的所有操作就是运行我们的应用程序。

除了 root 设备、禁用所有系统按钮并使我们的应用程序成为启动器之外,还有其他方法可以实现此目的吗?我有大约 400 台设备用于此目的,因此对所有这些设备进行 root 会花费大量时间。

我还阅读了 Google 关于 COSU 设备的教程,但发现它非常令人困惑https://developer.android.com/work/cosu.html#testing-plan https://developer.android.com/work/cosu.html#testing-plan

Android 自己的屏幕固定不够好,因为客户可以逃避该应用程序。有些人可能建议使用像 SureLock 这样的自助服务终端应用程序,但我公司的目标是在不使用任何第三方应用程序的情况下找到明确的解决方案。此外,通过某些信息亭应用程序运行我们的应用程序也不是我们的目标。

我在 Stack Overflow 上发现了一些有类似问题的帖子,但不是我正在寻找的答案。

如果有人对这个问题有一些提示,我将非常感激。


基于 Android 构建的单一用途设备可能很难实现。有几种不同的选择,但每种选择都有权衡。

正如您所提到的,生根设备将在功能上为您提供所需的东西 - 然而,要生根数百台设备将非常耗时,难以维护,并且您将(可能)给您的设备和应用程序带来安全问题。

另一种选择是使用 Google锁定任务模式对于 COSU 设备[1]。那里的链接有一个很好的图形,显示了锁定任务模式的功能:

  • 1 个应用固定到主屏幕
  • 只能锁定 DPC(设备策略控制器)列入白名单的应用程序
  • 隐藏“主页”和“最近使用”按钮
  • 通过调用退出stopLockTask()

使用 Google 的解决方案有一些缺点。首先,Google 建议创建(并因此维护)一个完全独立的 DPC 应用程序,以设备所有者的身份运行并设置策略[2]。您还将依赖 Google Play 来管理应用程序更新,并需要拥有与每台设备关联的 Play 帐户,这些帐户“用于识别不与单个用户绑定的单个设备,以实现简化的每设备应用程序分发规则”在 COSU 式的场景中”[3]。要在设备上自动获取您的 DPC 应用程序,您的“DPC 必须在 Google Play 上公开可用,最终用户可以通过输入 DPC 特定标识符从设备设置向导安装 DPC。”[3] 您还需要将用户应用程序上传到 Google Play[4],这对于一些不希望自己的应用程序出现在 Play 上的人来说可能是个问题。这条路线可以为您提供所需的功能,但可能会很复杂,并且还会将您和您的客户与 Google/Play 服务及其工作流程紧密联系在一起。

您还可以查看 Mason[5] 等企业移动部署平台。对于您的情况,您可以在几分钟内创建一个自定义 Android 操作系统,并将您的应用程序锁定在信息亭模式(+ 其他功能,如禁用相机/短信、删除应用程序和隐藏设置等),然后将其部署到您的所有设备远程。如果您的需求发生变化,Mason 还支持由您控制的操作系统和应用程序更新。

免责声明:我为梅森工作

  • [1] https://developer.android.com/work/cosu.html https://developer.android.com/work/cosu.html
  • [2] https://developer.android.com/work/cosu.html#create-dpc https://developer.android.com/work/cosu.html#create-dpc
  • [3] https://developers.google.com/android/work/requirements/cosu https://developers.google.com/android/work/requirements/cosu
  • [4] https://developers.google.com/android/work/play/emm-api/samples#push_install_an_app_on_a_device https://developers.google.com/android/work/play/emm-api/samples#push_install_an_app_on_a_device
  • [5] https://bymason.com/ https://bymason.com/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:如何让设备只运行一个应用程序? 的相关文章

随机推荐