通常,要关闭Android设备,您当然可以通过电源按钮执行此操作。
你也可以做adb shell
和reboot -p
。
但在Android Things中,我看不到关闭设备的方法。如果没问题,我很想为此切断Raspberry Pi的电源,但这可以接受吗?它会损坏 SD 卡吗?
通常,要关闭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
,这使得它可以在任何应用程序进程中执行。换句话说,su
与大多数现有的 Android 手机/平板电脑相比,应用程序进程不需要获得额外的权限,因此在AndroidManifest.xml
.
注意:如果在较新的操作系统版本中更改安全模型,此方法可能不起作用。