Android 管理 API - 连接电源时启动设备

标签 android ionic-framework google-cloud-pubsub android-management-api

因此,正如标题所述,我正在寻找一种在连接电源充电器时启动 Android 设备的方法。我们正在制作信息亭模式的专用设备,并使用 Android 管理 API 来设置设备上的所有内容。

这涵盖了我们的大部分要求,例如预安装应用程序、禁用其他所有内容、将其连接到托管 Google Play、获取设备报告等...但是对于这个功能强大的东西,我在文档中找不到任何解决方案。

问题是用户无法使用物理电源按钮(不要问我为什么:)),当电池耗尽时,他们必须能够再次开机,而无需拧开外壳找到物理按钮。

我知道这可以通过不同的方式完成,但我找不到任何可以与 Android Management API 一起使用的东西。我正在研究这种“fastboot”方法,因为它看起来很简单 https://source.android.com/devices/bootloader/unlock-trusty#off-mode-charging

最初,我想我可以使用 devices/issueCommand 端点 https://developers.google.com/android/management/reference/rest/v1/enterprises.devices/issueCommand 以某种方式运行它。 ,但这似乎只支持一些预定义的命令,例如:LOCK、RESET_PASSWORD 和 REBOOT。

也许我只是错过了一些东西。如果有人想到了另一种方法,请分享。

如果有帮助的话,我们还有连接到 PubSub API 的 Android 管理 API,以及一个提取设备报告的主题。理论上,我可以在那里列出“电源已连接”事件,并在设备上运行一些命令。但同样,问题是如何在设备上远程运行此命令。

也许解决方案是制作另一个应用程序,该应用程序将作为运行此命令的后台进程运行。我想我需要将其添加为策略中的“receiverActivity”。但同样的问题仍然存在......如何从 Android Management API 调用此 Activity 。

底线是这需要完全自动化。无法在每个设备上手动运行此命令。

另外,值得一提的是,这是一个 Ionic 应用程序。尽管这可能并非不可能,但我们希望将这种逻辑保留在应用程序本身之外。理想的解决方案是使用 Android Management API 远程运行一些 adb 命令。

或者也许有一个很好的第三方应用程序可以执行此操作,我可以在策略中安装该应用程序并以某种方式调用它。

欢迎所有建议。也许有一个我错过的简单解决方案。

评论后更新:我没有考虑实际的应用程序如何做到这一点。我正在寻找一种在设备最初通过 Android 管理 API 策略设置时执行一些“ native ”命令的方法。所以它应该只执行一次。当它最初设置一切时。它应该编辑设备上的某些文件(或运行某些命令)以启用此功能。稍后,它不应该关心设备是否打开,或者设备上正在运行哪些应用程序。这里建议了几种不同的方法来执行此操作 https://android.stackexchange.com/questions/20021/automatically-power-on-android-when-the-charger-is-connected 。我正在寻找一种在设备初始设置时(仅一次)触发这些命令之一的方法。换句话说,这应该仅在设备注册时执行。它不应该关心设备上运行的任何应用程序。

最佳答案

因此,“免费”的方法是使用 fastboot 命令。但从 AMA API 来看,目前这是不可能的(并且很可能永远不可能)。这个问题始终是特定于硬件的,因为引导加载程序控制引导过程,并且引导加载程序是为每个设备定制的。

不过,不同的制造商有不同的选择。查看 OEMConfig 应用程序(您可以从 Play Store for Work 或从制造商本身获取)。

三星有它的 KNOX API,以及付费 ProKiosk mode支持控制电源控制。

关于您问题中解决问题的帖子,您将无法修改系统中的任何文件,因为系统仅限于 root。这也永远不适用于托管设备。


您可以通过使用等待 fastboot 设备连接并执行命令的脚本设置树莓派或其他设备来“半自动化”该过程。这样,您只需访问每台设备并将其放入 fastboot 并插入设备即可开始下一台设备。


澄清一下:adb 和 fastboot 是两个完全不同的东西。当设备位于引导加载程序中时,Fastboot 正在运行。当设备启动 android 时,Adb 正在运行。从技术上讲,在 android 启动时执行 fastboot 命令应该是不可能的,因为引导加载程序已经退出。

关于Android 管理 API - 连接电源时启动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60726821/

相关文章:

android - android如何与动态服务通信?

java - ImageView 在 Android 中旋转后不显示

html - ionic 元素的 Z 索引

Android 设备、ionic 应用程序和 $cookies

python - google-cloud 依赖项在 python 应用程序引擎中被覆盖

python-3.x - 如何使用云函数触发数据流? (Python SDK)

android - 麦克风权限

android - 如何在 native react 中从应用程序自动启用和禁用离线模式

css - 垂直对齐中间 ionic 按钮 Ionic 2

google-compute-engine - 如何停止谷歌云数据流中的流管道