将Android设备锁定到单个应用程序

Zap*_*ica 39 android kiosk-mode

我的公司正在寻找销售带有应用程序的Android设备,该设备将作为替代嵌入式设备的产品执行某项任务.

但是我们需要知道如何锁定设备只能访问我们将开发的应用程序,而无法访问正常的Android OS界面.

我想要以下内容:

  1. 当设备启动时,它必须自动加载我们的应用程序
  2. 必须没有办法退出应用程序(除非我们可能输入主密码),这将允许您访问该设备

这可能吗,怎么会这样做呢?

Mar*_*ing 27

棒棒糖(5.0)支持屏幕固定的概念,这是我认为你想要的.

Android 5.0引入了一种新的屏幕固定API,可让您临时限制用户离开任务或被通知中断.例如,如果您正在开发教育应用程序以支持Android或单一用途或自助服务终端应用程序的高风险评估要求,则可以使用此方法.一旦您的应用激活屏幕固定,用户就无法看到通知,访问其他应用或返回主屏幕,直到您的应用退出该模式.

激活屏幕固定有两种方法:

手动:用户可以在"设置">"安全性">"屏幕固定"中启用屏幕固定,并通过触摸"最近"屏幕中的绿色图钉图标选择要固定的任务.

以编程方式:要以编程方式激活屏幕固定,请从您的应用程序调用startLockTask().如果请求的应用程序不是设备所有者,则会提示用户进行确认.设备所有者应用程序可以调用setLockTaskPackages()方法,以便在没有用户确认步骤的情况下使应用程序可以固定.

https://developer.android.com/about/versions/android-5.0.html

  • 看起来像[重新启动时禁用了屏幕固定](https://community.spiceworks.com/topic/814707-does-android-screen-pinning-continue-after-reboot)。 (2认同)

Dan*_*iel 19

这个问题有几种不同的可能解决方案,如下所述,但Android中没有"开箱即用"的解决方案.(编辑:至少不在Android 5.0之前)

  • 开发您的应用程序并将其激活为标准Home Screen App/Launcher.用户只能通过在安全模式下启动来避免此解决方案.
  • 开发自己的内核(正如Chloe在评论中所提到的)
  • 在这种情况下使用第三方应用程序.(这将主要在您的设备上需要root)Play商店提供不同的解决方案(例如KioWareSureLock).搜索Android Kiosk Mode以获得更多结果.

  • 感谢您的反馈,我很高兴有几个选项,特别是可能不涉及构建内核的选项,因为我不认为设备供应商愿意给我们他们的内核. (3认同)

Sor*_*shA 12

从Android 6.0开始,您可以为企业拥有的单一用途(COSU)设备配置设备策略,这是@Mark Melling指出的补充.

作为IT管理员,您可以将Android 6.0 Marshmallow及更高版本的设备配置为公司拥有的一次性(COSU)设备.这些是用于单一用途的Android设备,例如数字标牌,票据打印,销售点或库存管理.要将Android设备用作COSU设备,您需要开发客户可以管理的Android应用.

您的客户可以配置COSU设备:

将单个应用程序锁定到屏幕,并隐藏"主页"和"最近"按钮以防止用户转义应用程序.允许多个应用程序显示在屏幕上,例如带有目录应用程序和Web浏览器的库信息亭.

http://developer.android.com/training/enterprise/cosu.html

  • 这是另一个有趣的解决方案,但据我所知,程序非常明确:必须有一个EMM提供商,在社区中注册等等.即小型应用程序开发人员没有简单的方法来提供"窗口 - ce设备感觉"对许多其他小企业.希望我被误解......或者说整个事情都会因未来的更新而变得简单. (3认同)