- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试让我的反馈应用程序完全支持自助服务终端,我已经尝试了很多解决方案,但没有什么能完全满足我的需求。这是我找到的东西。
<强>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/
03-25 05:52:15.329 8029-8042/com.mgh.radio W/MediaPlayerNative: info/warning (703, 0) 03-25 05:52:15
我一直在 Internet 上到处寻找关于 FrameworkElementFactory 类的适当文档,但我似乎找不到有关它的适当教程或有用信息。 请问对这个问题了解更多的人可以给我更多的信息吗?这
我需要知道一个线程在进入等待状态之前如何将其ID发送到另一个线程。我想传递一个带有其ID的变量,但我不知道该怎么做。 最佳答案 如果只有一个线程及其父线程,则可以使用全局变量,因为它们在所有线程之间共
我正在尝试制作一个程序,该程序可以读取命令行上的所有单词,然后将其打印在新行上,而我想要做的是这样的: Some text: hello 但是相反,我得到了这样的东西: Some text: Hell
我有一个连接到rabbitmq服务器的python程序。当该程序启动时,它连接良好。但是当rabbitmq服务器重新启动时,我的程序无法重新连接到它,并留下错误“Socket已关闭”(由kombu产生
我正在设置CI / CD管道。部署步骤运行以下命令: kubectl apply -f manifest.yml --namespace kubectl rollout status Deploym
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
这是我在文件上运行 svn info 时输出的一部分: Last Changed Author: [user] Last Changed Rev: 269612 Last Changed Date:
所以我正在构建这个音乐应用程序,到目前为止它只扫描 SD 卡内的特定文件夹。这将返回路径,然后播放它们。 几个小时前我得知android系统中有一个媒体文件数据库所以 我想知道这个媒体文件数据库是否存
我正在绘制树形图,并且想知道如何绘制树类的相对百分比,即 A组=100 B地=30 C地=50 D 地 =20 然后,在图中,应该添加: A 组“50%” B 组“15%” 等在其“Group X”标
我正在构建一个社交网站,我想知道如何在用户首次登录时显示交互式教程和信息。比如只有在第一次登录时,用户才会被要求在他们的个人资料中填写更多信息。我怎样才能通过 php 和 mysql 实现这一点?例子
我是 java servlet 的新手。我研究了一些关于 servlet 的代码,但我真的很想知道更多基本的东西以及它是如何工作的。我只是想知道什么类型的 Material /内容可以从 java s
我想知道是否有办法为 user_id、sender_user_id 和 recipient_user_id 提供 name 信息来自 this fiddle 中的模式. 我现在唯一能想到的办法就是做这
这是我存储2个大学生信息的源代码。我想从输入中获取每个人的姓名、姓氏、ID 和 5 分,然后在输出中显示它们。我在输出中显示分数时遇到问题。 请帮忙 #include using namespace
假设我有一张带有条形图的图像,如下所示: 我想提取条形图和标签的值,除了训练 ML 模型之外,还有其他方法吗? 我有一堆图像,我为其生成了图表和一些描述。我目前正尝试仅从我能够做到的描述中提取信息,但
有没有办法从 GKTurnBasedParticipant 对象中检索玩家的名字?似乎除了根据类引用的难看的 playerID 之外,没有办法显示有关游戏玩家的相关信息。还是我遗漏了什么? 谢谢...
我有一个随机抛出“KeyNotFoundException”的 C# Silverlight 应用程序。我不知道找不到什么 key 。这让我想到了两个问题: KeyNotFoundException
本文实例为大家分享了ios获取本地音频文件的具体代码,供大家参考,具体内容如下 获取本地音频文件地址: ?
下面为大家介绍利用SQL查询语句获取Mysql数据库中表的表名,表描述、字段ID、字段名、数据类型、长度、精度、是否可以为null、默认值、是否自增、是否是主键、列描述 1、查询表信息(表名/表
问题 有没有办法获取代码中使用属性的位置,或声明成员变量的位置? 我不是在寻找解决此问题的方法,只是寻求一个简单的答案,无论这在技术上是否可行。 一些背景信息 我已经定义了一个属性,该属性使用提供给属
我是一名优秀的程序员,十分优秀!