启用后将我的 Android 应用程序设为完全信息亭模式

Posted

技术标签:

【中文标题】启用后将我的 Android 应用程序设为完全信息亭模式【英文标题】:Make my Android app to fully kiosk mode when enabled 【发布时间】:2019-11-08 01:03:16 【问题描述】:

我正在尝试让我的反馈应用程序完全支持信息亭,我尝试了很多解决方案,但没有什么能完全满足我的需求。以下是我发现的东西。

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

如果我们按照这个链接/程序https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode,有一些限制如下-

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

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

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

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

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

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

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

3.第三种情况,所有按键都被控制,包括电源+音量+返回+概览等。 只有按下 home 才能使应用程序进入后台,并在几秒钟内再次出现在前台。

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

Is this something to be fully controlled by MDM(Mobile Device Management)?

感谢任何帮助。

【问题讨论】:

另一种解决方案:***.com/a/46234212/7035703 它允许您使用 Google Play 安装和更新您的应用程序。您还可以通过应用不同的策略进入和退出自助服务终端模式。 【参考方案1】:

1.将我的应用设为设备管理员/所有者应用

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

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

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

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

2。锁定任务/屏幕固定

任何应用程序都可以通过编程方式enter lock task mode。它是如何发生的取决于应用程序是否被设备所有者应用程序(可能本身)列入白名单:

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

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

此外,自助服务终端应用程序可以充当启动器。设备所有者(同样,可能是自己)可以set it without user intervention

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

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

总的来说,我认为将设备锁定在自助服务终端模式的唯一可靠方法是使用设备所有者应用程序(单独或包含在自助服务终端应用程序中)。通过 NFC 或 QR 码进行设置实际上比普通设备设置更快。它还可以防止安全模式重启或恢复出厂设置。唯一真正的限制是,如果不先擦除现有设备,就不能在现有设备上部署此类应用程序。

【讨论】:

【参考方案2】:

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

一个。如果您将其设为“管理应用程序”,这意味着您已正确签署设备映像?因此,您可以控制设备的完全闪烁 - 在这种情况下您可以做任何事情。

b.在你第一次设置之后,你实际上也可以通过 WiFi 进行 ADB

c。您可以从 Playstore 更新您的应用程序 - 甚至是启动器应用程序

d。这个事实是 Kiosk 模式的重点。用户永远不能退出应用程序。只有您可以通过远程命令或隐形触摸组合(例如依次触摸屏幕的每个角落两次,或其他“秘密解锁码”)退出。

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

b.这与 1d 相反,如果您都不想要,则不清楚您想要什么。

第三种情况,所有按键都被控制,包括power+voulme+back+overview等。

这也是1d的反义词,如果你都不想要就不清楚你想要什么。


我们需要有关此应用的部署方案的更多详细信息,以进一步帮助您。

【讨论】:

以上是关于启用后将我的 Android 应用程序设为完全信息亭模式的主要内容,如果未能解决你的问题,请参考以下文章

Geeksforgeeks 在提交后将我的代码显示为运行时错误

如何将我的应用设为默认视频播放器?

在android studio上设置bitnami Parse服务器的电子邮件验证

无法将我的手机连接到 Android Studio 或 VS 代码

Google Maps是否仅将我的IP用于地理定位?

将我的 android 应用程序签名为系统应用程序