通常,要关闭Android设备的电源,您当然可以通过电源按钮来完成此操作。
您还可以执行
adb shell
和 reboot -p
。
但是在 Android Things 中,我没有看到关闭设备的方法。 如果没问题的话,我很想为此切断我的Raspberry Pi的电源,但这可以接受吗?它会损坏 SD 卡吗?
Android(以及 Android Things)应该不会出现突然断电的问题。核心操作系统位于文件系统上的只读分区中,因此不存在因运行中写入失败而损坏操作系统的风险。
此外,如果您想在测试或开发中使用它,
reboot -p
应该仍然有效。更进一步,如果您觉得需要,您可以将 Gpio
与发出 InputDriver
的 KEYCODE_POWER
连接起来,将您自己的电源按钮添加回系统。
我喜欢戴夫的回答,只是想添加两件事:
您可以通过多种方式以编程方式关闭 Android Things 设备,但每种方式都附带一个警告,此处讨论:以编程方式关闭设备
要像您所说的那样关闭 AndroidThings 设备,您可以通过 ADB 来完成:
adb shell reboot -p
(
-p
是--poweroff
的缩写)
...并以编程方式
用于 关闭电源
Runtime.getRuntime().exec("reboot -p");
和重新启动
Runtime.getRuntime().exec("reboot");
Explanation
:reboot
二进制文件在具有全局可执行权限的Android Things映像中提供,即rwxr-xr-x
,这使得可以在任何应用程序进程中执行。换句话说,与大多数普通 Android 手机/平板电脑相比,应用程序进程不需要获得 su
,因此不需要额外的权限 AndroidManifest.xml
。
注意:如果较新的操作系统版本中的安全模型发生更改,此方法可能不起作用。