android - 使我的 Android 应用程序在启用时进入完全信息亭模式

标签 android mdm kiosk kiosk-mode device-admin

我正在尝试让我的反馈应用程序完全支持自助服务终端,我已经尝试了很多解决方案,但没有什么能完全满足我的需求。这是我找到的东西。

<强>1。将我的应用设为设备管理员/所有者应用(锁定任务)-

如果我们点击此链接/程序 https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode , 一些限制如下 -

一个。我们必须将所有安装了反馈应用程序的设备恢复出厂设置,按照一些步骤将其设置为管理应用程序(启动器应用程序)。

可以使用命令行安装该应用程序,每次安装都会通过 cmd 获取一些代码行,这意味着安装人员必须带着电脑去那里,用 USB 连接设备,然后使用命令安装应用程序。

应用程序的更新也将遵循相同的程序(无法使用 google play 商店执行)

在这种情况下,最终用户将永远无法退出我们的应用程序,每次重启设备也会启动相同的反馈应用程序。

<强>2。以编程方式固定屏幕 + 以编程方式控制音量和电源按钮。 ( https://github.com/mrugacz95/kiosk )

一个。在此,我们将使应用程序处于屏幕固定模式,其中所有三个底部按钮(概览、主页、最近)都将被隐藏/禁用。与电源键和音量键相同。

因此,只要用户点击 kiosk 模式,就会向用户显示屏幕固定系统生成的提示,但它最大的缺点是,一旦用户同时按下概览+最近按钮,应用程序就会被取消固定/解锁。

<强>3。第三种情况是,控制所有按键,包括电源+音量+返回+概览等。 只有按下主页才会使应用程序进入后台,几秒钟后它将再次出现在前台。

到目前为止,我发现的一切都不是很令人满意。 还有一个问题-

这是要完全由 MDM(移动设备管理)控制的东西吗?

感谢任何帮助。

最佳答案

<强>1。将我的应用设为设备管理员/所有者应用

一个。设备所有者只能安装在新初始化的设备上(在添加帐户之前)。我相信这是设计使然:设备所有者可以完全锁定设备,您不希望恶意应用能够在几次“我同意”弹出窗口后夺取毫无戒心的用户的电话。

您不需要使用 adb 安装它。最简单的配置方法是通过 NFC :当设备显示设置向导的第一个屏幕时,用包含配置配置的标签(或其他设备)触摸它,最重要的是可以下载 apk 的 URL 和 WiFi 配置。

另一种方法是通过 QR code (Android 7+) :在第一个设置屏幕上点击 6 次。它不如 NFC 方便,因为您通常必须手动配置 WiFi。

设备所有者可以像任何其他应用程序一样进行更新。因为它本身可以install or update applications无需询问用户,您就可以实现完全自动化的自更新机制:检查更新/下载/更新。

<强>2。锁定任务/固定屏幕

任何应用程序都可以编程enter lock task mode .它如何发生取决于应用程序是否被设备所有者应用程序(可能是它自己)列入白名单:

如果没有,会提示用户必须接受,也可以随时退出。这基本上与屏幕固定相同。

如果是,则没有弹出窗口:用户不能拒绝进入或退出锁定任务模式。

此外,信息亭应用程序可以充当启动器。设备所有者(同样,可能是它自己)可以 set it without user intervention

这是要完全由 MDM(移动设备管理)控制的东西吗?

虽然设备所有者应用通常通过 DPC 连接到某种 MDM 控制台,但这不是技术要求。你如何控制它完全取决于你。 (我希望我正确理解了这个问题)

总的来说,我认为将设备锁定在 kiosk 模式下的唯一可靠方法是使用设备所有者应用程序(单独或包含在 kiosk 应用程序中)。通过 NFC 或二维码进行设置实际上比普通设备设置更快。它还可以防止安全模式重启或恢复出厂设置。唯一真正的限制是你不能在现有设备上部署这种应用程序而不先删除它们。

关于android - 使我的 Android 应用程序在启用时进入完全信息亭模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56766782/

相关文章:

android - 使菜单项填充操作栏的高度

ios - OurPact 家长控制 iOS 设备

ios - 如何获取 iOS 移动配置文件的代码签名证书

ios - 发布 iOS-Kiosk App 后 Facebook 注销

firefox - 通过 Epson TM88iv 从 Ubuntu 上的 Firefox 中踢出钱箱

android - 在 android 上启动相机时无法传递结果 ResultInfo

android - 手机背景看起来很糟糕?

ios - 生成 MDM 证书

java - Android 应用程序作为 Kiosk 工作

java - 如何重用不同类中的方法